解决使用QtCreator导入ROS工程时CMake报错问题

9 篇文章 0 订阅

导入QT导入Ros工程时出现以下错误:

Call Stack (most recent call first):
  /opt/ros/melodic/share/catkin/cmake/all.cmake:208 (safe_execute_process)
  /opt/ros/melodic/share/catkin/cmake/catkinConfig.cmake:20 (include)
  CMakeLists.txt:58 (find_package)

原因:ros的环境没有加载到qtcreator中。

先确保已经安装依赖

sudo apt-get install ros-melodic-qt-create
sudo apt-get install ros-melodic-qt-build 

导入QT的前提是,项目已经catkin_make 编译成功(有build和devel)。

方法一

安装qt-ros-plugin,可直接在原先qtcreator中添加插件或下载自带ros插件的qtcreator。 在工作空间(src这一层文件夹,不要进入src)新建一个QT-ROS工程。

 随后,选择catkin_make。

 一直下一步,创建成功。

此时,点击绿色三角是无法运行的,需进一步设置启动项,点击左侧项目,选择run,点击浏览。

 将/devel/lib/example(此处根据你自己的项目名称每个人不同)/内的执行文件选中,再次按F5即可运行。

方法二

qtcreator加入命令行环境,在命令行中直接启动qtcreator(因为ros已在环境变量中,所以此时ros环境也加入到qtcreator中了)在其中输入如下图所示。

/home/xxxxxx根据自己安装QT位置来写。 

随后赋予权限

sudo chmod 777 /usr/bin/qtcreator

此时,可通过命令行输入qtcreator启动已加载ros环境的qtcreator。

随后,选择要导入的ROS工程,选择工作空间内,src内的CMakeLists导入成功。直接点击绿色按钮即可运行(与方法一不同不用选择/devel中的文件了)。

 但此时需要注意,qtcreator打开的是5.12版本,在其中直接点击编译运行是用5.12版本进行,但在有ROS-melodic的环境中使用命令行编译时,使用的qt是usr/lib中的5.9版本,若想一并改过来,需要修改环境变量。

sudo gedit ~/.bashrc
#在其中输入
export PATH=/home/(你的电脑用户名)/Qt5.12.12/5.12.12/gcc_64/bin:$PATH
sudo gedit /usr/bin/qtcreator
#在usr/bin中添加qtcreator启动

以上两种方法解决问题,方法一是调用qt-ros-plugin,方法二仍用ros本身,导入CMakeLists。
 

后续课程还有其他音频相关依赖

sudo apt-get install qtmultimedia5-dev

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值