cmake如何导入静态库
时间: 2024-07-23 07:00:54 浏览: 238
在CMake中,导入静态库通常涉及到设置库文件的位置以及链接选项。以下是步骤:
1. 首先,你需要告知CMake你的静态库的位置。假设静态库名为`mylib.lib`(Windows平台)或`libmylib.a`(Unix-like平台),你可以使用`find_library`命令找到库文件,例如:
```cmake
find_library(MYLIB_NAME mylib PATHS /path/to/lib)
```
这里,`MYLIB_NAME`是自定义变量名,`mylib`是你查找的库名。
2. 确定找到库之后,你需要将其添加到项目的构建依赖项中。在`target_link_libraries`函数中指定:
```cmake
add_executable(my_project main.cpp) # 假设你的项目是 executable
target_link_libraries(my_project MYLIB_NAME)
```
3. 如果库包含在预编译头文件中,你也需要包含它们。如果是Windows,请使用`add_definitions`:
```cmake
add_definitions(-D_USE_STATIC_LIB=1)
```
4. 最后,记得配置静态链接而非动态链接。这可以通过`CMAKE_BUILD_TYPE`变量的值来控制,默认情况下CMake生成的是动态链接,如果你想强制静态链接,可以设置为`STATIC`:
```cmake
set(CMAKE_BUILD_TYPE STATIC)
```
阅读全文