cmake 静态库的使用
时间: 2024-06-20 16:00:33 浏览: 199
在CMake中,构建静态库通常涉及以下几个步骤[^2]:
1. **使用ADD_LIBRARY**:通过`ADD_LIBRARY(<target_name> STATIC <source_files>)`命令创建静态库,其中`<target_name>`是你给库指定的名字,`STATIC`表示静态链接,`<source_files>`是包含库功能的源文件列表。
```cmake
ADD_LIBRARY(my_library STATIC src1.cpp src2.cpp)
```
2. **设置目标属性**:有时,你可能需要同时构建动态库和静态库,这时可以使用`SET_TARGET_PROPERTIES`。例如,设置同名动态库和静态库的版本信息:
```cmake
SET_TARGET_PROPERTIES(my_library PROPERTIES VERSION 1.0.0 SOVERSION 1)
```
3. **安装**:当项目构建完成后,可以使用`INSTALL(TARGETS <target> DESTINATION <install_path>)`命令安装库,包括头文件和库文件:
```cmake
INSTALL(FILES my_library.h DESTINATION include)
INSTALL(TARGETS my_library RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib)
```
4. **搜索路径**:使用`INCLUDE_DIRECTORIES`和`LINK_DIRECTORIES`添加非标准的头文件和库文件搜索路径,确保编译器能找到它们:
```cmake
INCLUDE_DIRECTORIES(/path/to/headers)
LINK_DIRECTORIES(/path/to/libraries)
```
5. **链接**:通过`TARGET_LINK_LIBRARIES`连接到其他库:
```cmake
TARGET_LINK_LIBRARIES(my_library other_library)
```
6. **编译条件和平台判断**:CMake允许你根据编译条件和平台选择不同的构建行为,这部分未在此详述,但它是CMake高级用法的一部分。
记住,每次更改CMakeLists.txt文件后,都需要运行`cmake`或`cmake-gui`重新配置项目。
阅读全文