使用CMake给ROS2项目添加库依赖

使用CMake给ROS2项目添加库依赖

添加系统库依赖

这里提到的系统库有一个共同的特点,就是他们保存在标准路径下,比如rclcppsensor_msgs等。

那么,何为标准路径?标准路径是指系统默认查找头文件和库文件的路径,对于Linux系统来说,他的标准路径有以下几种:

头文件标准路径:

/usr/include
/usr/local/include

库文件标准路径:

/usr/lib
/usr/local/lib

比如我们在程序中使用

#include<...>

时,编译器会首先会查找当前项目的include目录,如果没有就去上面提到的标准路径中去找,如果没有找到,就会报错。

对于这类库,通常只需要进行如下添加即可:

1、在package.xml中添加如下内容:

<depend>rclcpp</depend>

2、在CMakeLists.txt中添加如下内容:

find_package(rclcpp REQUIRED)

ament_target_dependencies(target rclcpp)

添加第三方库依赖

第三方库依赖往往是在需要时安装到电脑上的,这就意味着,PCL并不是保存在标准路径下的,所以无法直接实现链接,比如PCL库文件。

所以我们在链接前需要添加一步,总过程如下:

1、在package.xml中添加如下内容:

<depend>PCL</depend>

2、在CMakeLists.txt中添加如下内容:

find_package(PCL REQUIRED)

include_directories(${PCL_INCLUDE_DIRS})

ament_target_dependencies(target PCL)

include_directories命令会指定编译器查找路径,具体来说就是会在上面提到的搜索顺序中查找标准路径之前,先查找这里制定的路径,这样就实现了第三方库的链接。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值