【CMakeLists.txt生成链接第三方动态链接库的用法】

一. 使用find_package链接

如果 CMake 通过find_package找到一个包,它会自动创建几个CMake的环境变量,包括以下:
- <NAME>_FOUND, 如果找到该值为true,否则为false.
- <NAME>_INCLUDE_DIRS 或 <NAME>_INCLUDES, 包导出的包含路径.
- <NAME>_LIBRARIES 或 <NAME>_LIBS, 包导出的库

所以,只有使用find_package时,才能使用 ${<NAME>_INCLUDE_DIRS},或者 ${<NAME>_LIBRARIES} 这种变量.

示例:以OpenCV库为例

find_package(OpenCV REQUIRED)

# OpenCV_INCLUDE_DIRS 是由于使用了find_package命令,CMake就会自动定义该变量,该变量代表OpenCV库的头文件夹路径
include_directories(${OpenCV_INCLUDE_DIRS})

# OpendCV_LIBS 来源同上,该变量代表了 OpenCV库的库文件路径, 注意,这里不是文件夹三个字。
target_link_libraries(MY_TARGET_NAME ${OpenCV_LIBS})

find_package的优点是可以批量引入, 由于库的头文件路径 或者库文件路径不止一个,但是find_package可以将多个头文件路径整合为 <NAME>_INCLUDE_DIRS, 将多个库文件路径整合为 <NAME>_LIBRARIES

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值