cmake-cookbook学习笔记之编译和链接静态和共享库
1、场景描述
主文件hello-world.cpp,里面包含头文件Message.hpp,Message.hpp里面类的实现在Message.cpp,现在要把将Message.hpp和Message.cpp两个文件编译成库,如下所示
hello-world.cpp
Message.hpp:
Message.cpp:
2、怎么做
2、可执行文件不变
3、链接库message和可行性目标hello-world
4、正常编译运行,会生成libmessage.a静态库和可执行文件hello-world
3、库类型介绍
4、实战举例1——导入第三方库
任务描述:主文件中需要将gps坐标转换成xyz坐标,而这个已经在第三方库GeographicLib中实现了,包含在LocalCartesian.hpp中的LocalCartesian类有一个函数Forward可以实现这个功能,因此以下实现将第三方库GeographicLib文件夹导入主工程并修改CMakeLists.txt实现在main.cpp中调用
4.1 导入文件夹
4.2 修改主工程的CMakeLists.txt,有注释部分就是添加的命令
4.3 main.cpp包含头文件
4.4 main.cpp调用库函数
5 实战举例——导入OpenCV
首先更改CMakeLists.txt,有注释的部分就是需要修改的
然后在文件中包含OpenCV相应的头文件,并使用cv命名空间即可