catkin_make编译时索引到另一个工程中的问题


一. 问题

在catkin_make一个包含mavros包的工程时,会索引到另一个工程中的mavros包。由于两个包版本不一样,导致程序编译后出现问题。

二. 分析及解决

通过分析可知,系统环境中包含了另一个工程的路径,导致工程编译时优先去寻找另一个工程下的包。而环境在.bashrc中定义,因此我们进入.bashrc文件,修改source的路径:

$ sudo gedit ~/.bashrc

若本工程为catkin_ws,另一个工程为auto_landing,则进行以下操作:

# source ~/auto_landing/devel/setup.bash
source ~/catkin_ws/devel/setup.bash
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
catkin一个为ROS(机器人操作系统)设计定制的编译系统。catkin系统的目的是为了使开发人员更高效地构建ROS包,解决ROS依赖项管理、构建文件管理、可重用二进制文件等问题catkin_makecatkin一个命令行工具,用于编译和构建ROS包。 catkin主要有三个概念:包、工作区和catkin。包是ROS的基本单元,它包含必要的文件和代码来实现某些功能。工作区是一个包含多个包的目录。catkin是一组工具和代码库,用于构建和维护ROS代码库。 catkin_make一个可用于构建catkin工作区的命令行工具。这个工具可以在ROS包的顶级目录下运行,使得它扫描工作区目录树,构建包的可执行文件、库和测试等,方便用户管理ROS软件包之间的依赖关系。catkin_make插件还可以自动处理C++库的依赖关系,方便项目管理者在不同的项目之间共享可重用的代码,并在需要更改依赖库的版本。 在使用catkin_make之前,使用catkin_init_workspace命令创建工作区目录。这个命令会在当前目录下创建一个catkin_ws”目录,该目录是工作区的根目录。使用catkin_create_pkg命令在这个目录创建一个ROS包,该命令会自动创建catkin包的基本文件结构。在包添加源文件、配置文件、启动文件等后,修改CMakeLists.txt文件来配置包的编译选项,包括编译类型、编译输出路径、编译源文件所需的库等。 总之,catkin是ROS编译系统,catkin_makecatkin工具集的一部分,可以用来编译ROS软件包。catkin提供了一些工具和代码库,用于构建和维护ROS代码库,并使得能够轻松地管理ROS软件包之间的依赖关系。在使用catkin_make之前,需要创建ROS工作区,并使用catkin_create_pkg命令创建ROS包,然后对包的CMakeLists.txt文件进行配置,使用catkin_make进行编译和构建。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值