您的位置:首页 > 其它

MOOS中使用CMake编译链接glog库

2017-10-30 18:48 411 查看
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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  cmake