如何手动配置CMake来查找并链接动态库?
时间: 2024-10-27 21:13:50 浏览: 45
cmake-cmake使用示例之Imported-Targets.zip
在CMake中,手动配置查找并链接动态库(也叫shared libraries)通常涉及到以下几个步骤:
1. 使用`find_library`函数:首先,你需要告诉CMake去哪里搜索库。例如,如果你要找的是名为`gflags`的库,可以这样做:
```cmake
find_library(GFLAGS_LIBRARY NAMES gflags PATHS /path/to/library/directory)
```
这里`PATHS`参数是你认为库可能存在的地方。
2. 添加链接选项:一旦找到库,就需要将其添加到项目的链接目标中。比如:
```cmake
target_link_libraries(your_target ${GFLAGS_LIBRARY})
```
将`your_target`替换为你实际的目标名字。
3. 定义变量:如果`find_library`找不到库,你可以选择静默失败或自定义查找过程。例如,设置`gflags_FOUND`变量:
```cmake
if (NOT GFLAGS_LIBRARY)
message(FATAL_ERROR "Could not find GFLAGS library")
endif()
```
记得在你的CMakeLists.txt文件中执行这些操作,并在每次修改后重新执行`cmake`生成配置。
阅读全文