cmake 配置 静态链接
时间: 2023-10-15 13:07:15 浏览: 85
浅谈CMake配置OpenCV 时静态链接与动态链接的选择
在 CMake 中配置静态链接需要在 CMakeLists.txt 文件中添加以下内容:
```cmake
# 配置静态库输出路径
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
# 配置静态链接库
add_library(mylib STATIC src/file1.cpp src/file2.cpp)
# 配置可执行文件
add_executable(myexe src/main.cpp)
# 链接静态库
target_link_libraries(myexe mylib)
```
解释:
- `set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)`:配置静态库输出路径为 `${CMAKE_BINARY_DIR}/lib`。
- `add_library(mylib STATIC src/file1.cpp src/file2.cpp)`:定义一个名为 `mylib` 的静态库,并将 `src/file1.cpp` 和 `src/file2.cpp` 添加到库中。
- `add_executable(myexe src/main.cpp)`:定义一个名为 `myexe` 的可执行文件,并将 `src/main.cpp` 添加到可执行文件中。
- `target_link_libraries(myexe mylib)`:将 `myexe` 可执行文件链接到 `mylib` 静态库。
注意:静态库需要在编译期间链接到可执行文件中,因此需要在 `add_library()` 和 `add_executable()` 中分别定义静态库和可执行文件,然后使用 `target_link_libraries()` 将它们链接在一起。
阅读全文