Qtcreator---catkin_make 导致ros环境变量失效等

此时的心情真的只能用ros 论坛里面的一个哥们给的一个回复:it fucking work dude!
在各种尝试(2天)后基本解决,但仍不知所以然。
症状:在ros里建了一个ros_qt包(catkin_create_qt_pkg 功能包名 依赖 1依赖2,需装ros的qt依赖包),ros里cmake没问题,想在qtcreator 里导入这个包,结果开始出现各种问题,每次尝试在qtcreator里编译,就会导致ros的环境变量失效,.bashrc文件里加有,但是不起作用,ros启动不了,工作空间没有,各种度娘后,尝试把工作空间里的build 和devel文件夹删掉,重新编译,完了就可以启动ros,恢复ros的环境变量,但如果你再去qtcreator里编译,又会出现之前的问题,开始以为qtcreator启动时没有启动ros环境(会有可能,这样找不到cmake),就按照网上的方法设置启动快捷方式,然并没成功(可能只是解决其中一个问题),后面没办法,找ros论坛的ros_IDE介绍中的qt部分看,就乱尝试,结果其中一个点解决了问题:

#Add custom (non compiling) targets so launch scripts and python files show up in QT Creator's project view.
file(GLOB_RECURSE EXTRA_FILES */*)
add_custom_target(${PROJECT_NAME}_OTHER_FILES ALL WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} SOURCES ${EXTRA_FILES})

看字面意思是为了To be able to modify all the files in the workspace add those lines in “src/CMakeLists.txt” :,就为能修改所有文件,估计修改cmakelist.txt文件,反正问题解决了,但为什么这样不是很清楚,Cmake太多要了解的了。
其实之前也发现了cmakelist.txt带锁标志,就怀疑这个问题,结果尝试用sudo qtcreator去启动qtcreator,结果更夸张,再关就不能正常启动qtcreatro了,要启动还需sudo,后面只能chmod -R去掉这个permission,其间还出现了用qtcreator打开ros工作空间,直接闪退,应该是找不到cmakelist.txt,也是通过全部删掉ros 下编译的build和devel文件,重新编译后解决,但可能按照ros论坛的ros_IDE介绍的方法可以解决,没试过。

mv CMakeLists.txt CMakeLists.txt.old
cp /opt/ros/lunar/share/catkin/cmake/toplevel.cmake CMakeLists.txt

总之,想用qt去编译ros的功能包,这是问题多多,个人建议,以后这种情况用google去搜或者直接去ros的answer论坛去找应该会高效写,只是要啃E文!

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值