CMakeLists.txt实例运用(进阶)

CMakeLists.txt实例运用(探索)中,我们将库文件和头文件安装到了电脑上,接下来,我们看看怎能使用电脑上安装的头文件和库。

  新的文件结构如下:

 

CMakeLists.txt内容如下:

1 # 声明要求的 cmake 最低版本
2 cmake_minimum_required(VERSION 2.8)
3 # 声明一个 cmake 工程
4 project(helloSLAM)
5 
6 # 将库文件链接到可执行程序上(名字都是上面设置的,统一对应即可,这里对应为静态库)
7 set(main src/main.cpp)
8 add_executable(sayHello ${main})

 在src中只有一个main函数,没有sayHello.cpp,main函数内容没有改变。

 

 同样用cmake ../make命令在build下面编译是会出现如下错误,提示找不到sayHello.h文件。

 

 然后在CMakeList.txt中添加如下内容()上次我们将.h文件装到了如下位置:

include_directories(/usr/include/sayhello)

进入build进行重新构建,虽然找到了.h文件,但是没有发现库函数

 

 我们并没有链接到共享库(动态库)上,因此添加如下内容就可以生成可执行文件,我们在使用别人的库的时候原理相同

target_link_libraries(sayHello libHello)

 

 用ldd查看链接的库可以发现,确实链接到了libHello,是动态库liblibHello.so.1

 如果要链接到静态库的话,用.a来声明要链接静态库即可

target_link_libraries(sayHello libHello.a)

 

posted @ 2020-04-08 11:34  静精进境  阅读(449)  评论(0编辑  收藏  举报