做网站公司赚钱吗,网络营销企业有哪些公司,网商之窗麻将开挂,黄埔区做网站Cmake配置外部依赖库#xff08;以Opencv和Boost为例#xff09;
Cmake对于外部依赖库#xff0c;需要知道外部库的头文件路径#xff0c;库文件路径以及库的名字。比如#xff0c;对于要使用的Boost库#xff0c;需要知道头文件的位置#xff0c;库目录的位置以及库依…Cmake配置外部依赖库以Opencv和Boost为例
Cmake对于外部依赖库需要知道外部库的头文件路径库文件路径以及库的名字。比如对于要使用的Boost库需要知道头文件的位置库目录的位置以及库依赖。 具体使用如下
include_directories(xxx/include/) # 头文件路径
link_directories(xxx/lib/) # 库文件路径
target_link_libraries (foo xx.lib xx.so) # 库的名字为了使用调用外部库可以手动指令上述代码中的路径和名称Cmake提供了find_package程序用于自动确定上述路径从而减轻代码移植的复杂度。 程序的参数如下。
find_package(Boost[version] [EXACT] # 可选项最小版本或者确切所需版本[REQUIRED] # 可选项如果找不到所需库报错[COMPONENTS libs...] # 所需的库名称比如说. date_time 代表 libboost_date_time)
————————————————版权声明本文为博主原创文章遵循 CC 4.0 BY-SA 版权协议转载请附上原文出处链接和本声明。
原文链接https://blog.csdn.net/jinzhu1911/article/details/104940277通过上述程序运行可以自动确定以下变量。
Boost_FOUND - 如果找到了所需的库就设为true
Boost_INCLUDE_DIRS - Boost头文件搜索路径
Boost_LIBRARY_DIRS - Boost库的链接路径
Boost_LIBRARIES - Boost库名用于链接到目标程序
Boost_VERSION - 从boost/version.hpp文件获取的版本号
Boost_LIB_VERSION - 某个库的版本上述代码中Boost_INCLUDE_DIRS就是头文件所在目录Boost_LIBRARY_DIRS是库文件所在目录Boost_LIBRARIES是BOOST所有的库的列表。后续的cmake设置就可以根据此进行设置如
include_directories(${Boost_INCLUDE_DIRS}) # 头文件路径
link_directories(${Boost_LIBRARY_DIRS}) # 库文件路径
target_link_libraries (foo ${Boost_LIBRARIES}) # 库的名字对于opencv也是类似利用find_package(OpenCV REQUIRED)确定以下变量。
OpenCV_VERSION
OpenCV_LIBS
OpenCV_INCLUDE_DIRS参考资料
CMake中引用Boost库