Cmake链接第三方库的三种方法

Cmake链接第三方库的三种方法

本文介绍链接第三方库的3种方法(以OpenBLAS举例。使用的工程名称为Test_lib(可执行文件名字),主程序为library.c。代码中的各路径请自行替代):
(1)通过OpenBLASConfig.cmake文件(其中的内容是lib和头文件位置),然后使用find_package查找即可。具体代码如下:

add_executable(Test_lib library.c)
set(OpenBLAS_DIR "/path to .camke文件")
find_package(OpenBLAS REQUIRED)
include_directories(${OpenBLAS_INCLUDE_DIRS})
target_link_libraries(Test_lib ${OpenBLAS_LIBRARIES})

.cmake一般会由第三方库自动生成,去安装路径寻找。里面包含的是库文件和头文件的路径设置。
(2)通过find_library直接设置设置库文件和头文件的地址,具体代码如下:

include_directories(/path to OpenBLAS/include/)
find_library(OPENBLAS NAMES OpenBLAS PATHS /path to OpenBLAS/lib/ NO_DEFAULT_PATH)
add_executable(Test_lib library.c)
target_link_libraries(Test_lib ${OPENBLAS})

(3)通过link_directories直接设置库文件和头文件的地址,具体代码如下:

include_directories(/path to OpenBLAS/include/) # 头文件的路径
link_directories(/path to OpenBLAS/lib/) # .a文件的路径
add_executable(Test_lib library.c)
target_link_libraries(Test_lib libopenblas.a)

注意,在第3种方法下,add_executable语句一定要在link_directories之后,否则会找不到库文件。(不知道是不是新版本的cmake(使用的版本是3.15.3)才会有这个问题。网上的例子很多都是放在link_directories之前的。)
cmake官方认为应该尽量避免使用这个方法,尽量使用find_package() 和 find_library():https://cmake.org/cmake/help/v3.13/command/link_directories.html

  • 14
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
【资源说明】 基于lccp与边缘检测的三维点云分割方法c++源码(含项目使用说明+测试数据).zip 主要内容:改善二维实例分割生成的点云,并生成分割点云地图。 测试环境 系统:win10 编译器:MSVC2017 64bit、cmake 3.5 第三方库:pcl 1.9.1、boost 1.6.8、opencv 4.2.0、yaml 0.6.0 实例分割网络:YOLACT++,权重:yolact_plus_resnet50_54_800000 测试数据集 TUM数据集 rgbd_dataset_freiburg1_room序列 百度网盘 链接:https://pan.baidu.com/s/1sMxa3skD_Uix4TYjzioLyQ 提取码:1wpe 使用方法: 编译文件 首先编译yaml_cpp cd yaml_cpp mkdir build cd build cmake [-G generator] [-DBUILD_SHARED_LIBS=ON|OFF] .. make 编译本工程 mkdir build cd build cmake [-G generator] [-DBUILD_SHARED_LIBS=ON|OFF] .. make 执行命令 "SegmentMap.exe --Dataset" 数据集目录 -t 数据集目录/KeyFrameTrajectory.txt -c 0.2 -s 0.4 -n 0.6 -C 15 -S 0.01" 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值