MOOS中使用CMake编译链接glog库

来源:互联网 发布:日本聊天软件line 编辑:程序博客网 时间:2024/05/22 04:58

1.CMake编译原理

CMake是一种跨平台编译工具,比make更为高级,使用起来要方便得多。CMake主要是编写CMakeLists.txt文件,然后用cmake命令将CMakeLists.txt文件转化为make所需要的makefile文件,最后用make命令编译源码生成可执行程序或共享库(so(shared object))。
2.glog库介绍
Glog是谷歌开源的C++日志库,用来记录程序运行时的输出信息。
这里有几篇关于Glog库用法的博客,网址如下:
http://blog.csdn.net/chdhust/article/details/51813374
https://www.cppfans.org/1566.html
http://www.cnblogs.com/tianyajuanke/archive/2013/02/22/2921850.html
上面这几篇文章中介绍了Glog的API和基本用法,通过这些文章可以对Glog有一些基本的了解。下面介绍在Cmake工程中Glog的用法。

CMake的配置信息写在了CMakeList.txt文件中。在CMakeList.txt文件里,我们首先定义两个变量INC_DIR和LINK_DIR,用来表示头文件路径和库的路径。这里以我放在/usr/local/目录下的glog库为例,代码如下:

SET(INC_DIR /usr/local/include)SET(LINK_DIR /usr/local/lib)

然后依次设置头文件目录、库目录、要链接的库,如下:

include_directories(${INC_DIR})link_directories(${LINK_DIR})link_libraries(glog)

注意以上代码须放在add_executable语句之前,而接下来的链接库操作则须放在add_executable语句之后。

使用如下语句完成库的链接操作:

target_link_libraries(your_project glog)

括号中的your_project为工程名称,glog为库的名称。

至此我们就完成glog库的链接过程。

作为参考,此工程完整的CMake代码如下:

cmake_minimum_required(VERSION 2.6)project(your_project)set(CMAKE_CXX_STANDARD 11)set(SOURCE_FILES main.cpp)SET(INC_DIR /usr/local/include)SET(LINK_DIR /usr/local/lib)include_directories(${INC_DIR})link_directories(${LINK_DIR})link_libraries(glog)add_executable(your_project ${SOURCE_FILES})target_link_libraries(your_project glog)
原创粉丝点击