CMakelists.txt中的find_package()
时间: 2024-06-10 17:09:32 浏览: 185
CMakeLists.txt
在CMake中,find_package()函数用于查找并加载外部依赖库。该函数会在系统中搜索指定名称的库,如果找到了就会将其加载进来,否则就会报错。
该函数的语法格式如下:
```
find_package(<package_name> [version] [EXACT] [QUIET] [NO_MODULE] [REQUIRED] [[COMPONENTS] [component1] [component2] ...])
```
参数说明:
- package_name:需要查找的库的名称。
- version:需要指定的库的版本号。
- EXACT:是否需要严格匹配指定版本。
- QUIET:是否需要关闭查找信息的输出。
- NO_MODULE:是否禁用使用find_package()的模块化查找方法。
- REQUIRED:是否必须找到指定的库。
- COMPONENTS:需要查找的库的组件。
例如,下面的代码用于查找OpenCV库:
```
find_package(OpenCV REQUIRED)
```
如果系统中已经安装了OpenCV库,find_package()函数就会成功加载该库。否则,会出现查找错误的提示信息。
一些库可能会提供多个组件,例如OpenCV提供了core、imgproc、highgui等组件。使用find_package()时可以在COMPONENTS参数中指定需要查找的组件。例如:
```
find_package(OpenCV REQUIRED COMPONENTS core imgproc highgui)
```
阅读全文