CMake入门学习+实战<三> 静态库与动态库构建
文章整合自:
CMake Practice
http://sewm.pku.edu.cn/src/paradise/reference/CMake%20Practice.pdf
CMake 官方文档
https://cmake.org/cmake/help/latest/
以及其他网络资料
目标:
代码移植
静动态库编译调用
文章为CMake Practice的笔记以及一些错误整改或者补充。请参照源文章学习,官方文章以供深入学习。
思维导图为cmake practice目录,阅读时间建议为半天
<三>cmake hello 静态库与动态库构建
文章中出现的错误
- Cannot determine link language for target "hello_static".
在编译静态库时提示错误如上;
Google半天没有像样的解决方案,调了两个小时发现发现问题如下:
源代码头文件调用库
#include <stdio.h>
解决方案:
- 更改主目录下CMakeLists.txt
SET(LIBHELLO_SRC hello.cpp)
同时,将hello.c改成——hello.cpp
编译不报错
- (或者)更改库文件
#include <stdio.h>改为——#include <cstdio>
推荐第一种方法解决。
- 错误2:库文件的安装路径错误
实际安装路径中包含local,下一节调用静态库时注意