cmake 静态库 动态库的区别
时间: 2023-12-19 19:30:09 浏览: 183
动态库静态库区别
CMake是一个跨平台的自动化构建系统,可以用简单的语句来描述所有平台的编译过程。CMake能够输出各种各样的编译器文件,如Makefile或Visual Studio的解决方案文件等。CMake支持静态库和动态库的构建。
静态库和动态库的区别在于链接方式和加载方式不同。静态库在编译时被链接到目标代码中,程序运行时不需要再加载该库,因此静态库的可移植性较差,且占用空间较大。而动态库在程序运行时才被加载,因此动态库的可移植性较好,且占用空间较小。
在CMake中,可以使用ADD_LIBRARY命令来创建静态库和动态库。其中,静态库使用关键字STATIC,动态库使用关键字SHARED。例如:
```cmake
# 创建静态库
ADD_LIBRARY(hello_static STATIC ${LIBHELLO_SRC})
# 创建动态库
ADD_LIBRARY(hello_shared SHARED ${LIBHELLO_SRC})
```
阅读全文