CMake中如何查找和使用系统安装的库?
时间: 2024-09-09 09:12:41 浏览: 69
cmake-cmake使用示例之三方库.zip
在CMake中查找和使用系统安装的库通常可以通过`find_package`和`target_link_libraries`命令来完成。以下是基本步骤:
1. **使用find_package寻找库:**
`find_package`命令用于寻找并加载一个包的配置。如果找到,它会定义一些变量或者导入目标,以便后续使用。例如,如果你想使用OpenCV库,可以这样使用:
```cmake
find_package(OpenCV REQUIRED)
```
这行代码会查找OpenCV的配置文件,通常是`OpenCVConfig.cmake`,然后根据该文件设置相关的变量和导入OpenCV的目标。如果找不到,CMake会报错。
2. **链接库到你的目标:**
一旦找到了包,你可以使用`target_link_libraries`命令将库链接到你的目标上。例如,如果你有一个可执行文件目标叫做`my_executable`,可以这样链接OpenCV库:
```cmake
target_link_libraries(my_executable PRIVATE ${OpenCV_LIBS})
```
这里`${OpenCV_LIBS}`是`find_package`命令设置的变量,包含了需要链接到目标的所有OpenCV库。
3. **配置包的查找路径:**
如果CMake默认的查找路径没有找到库,你可能需要指定查找路径。这可以通过设置`CMAKE_PREFIX_PATH`变量或者使用`find_package`命令的`PATHS`和`PATH_SUFFIXES`选项来完成。
具体使用时,你还需要考虑到库的版本、库的类型(静态还是动态)等细节,`find_package`命令提供了很多选项来满足这些需求。
阅读全文