QT 调试ROS 但是打开工程出现错误,找不到roscpp.cmake之类

本文介绍如何在QT中正确加载ROS环境变量,包括通过.desktop文件设置环境变量的方法及解决CMake编译时找不到ROS相关组件的问题。同时,还提到了确保安装必要ROS包的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于 QT如何加载ROS的相应的环境变量,

[Desktop Entry]
Type=Application
Exec=/home/viki/Qt5.2.0/Tools/QtCreator/bin/qtcreator
Name=Qt Creator (Opensource)
GenericName=The IDE of choice for Qt development.
Icon=QtProject-qtcreator
Terminal=false
Categories=Development;IDE;Qt;
MimeType=text/x-c++src;text/x-c++hdr;text/x-xsrc;application/x-designer;application/vnd.qt.qmakeprofile;application/vnd.qt.xml.resource;text/x-qml;text/x-qt.qml;text/x-qt.qbs;

自己新建一个文本文档,填写这个内容,更改一个地方是Exec这个地方 加上bash -i -c 这个意思执行.bashrc。即加载source ros一些东西。

Exec=/home/viki/Qt5.2.0/Tools/QtCreator/bin/qtcreator
然后这个文本文档可以存在任何地方,比如放在桌面,然后文本文档的名称叫做
DigiaQtOpenSource-qtcreator.desktop

.desktop这个必须加上, 双击应该能直接执行,如果不能执行,则更改下权限,让其能执行。




但是 cmake的时候,就会出现各种问题,例如下面,找不到啥。很纠结。

其实一部分原因是 C编译器找不到,解决办法就是 mananger kits 自己做一个 看下几个图






按照这样的节奏应该能用,但是当你打开roscpp等东西还是找不到,这个原因是一个环境变量在作怪,就是叫做

CMAKE_PREFIX_PATH 这个鬼东西,这个是是啥呢,

Path used for searching by FIND_XXX(), with appropriate suffixes added.

Specifies a path which will be used by the FIND_XXX() commands. It contains the “base” directories, the FIND_XXX() commands append appropriate subdirectories to the base directories. So FIND_PROGRAM() adds /bin to each of the directories in the path, FIND_LIBRARY() appends /lib to each of the directories, and FIND_PATH() and FIND_FILE() append /include . By default it is empty, it is intended to be set by the project. See also CMAKE_SYSTEM_PREFIX_PATH, CMAKE_INCLUDE_PATH, CMAKE_LIBRARY_PATH, CMAKE_PROGRAM_PATH.

这是官方的说法,大概就是帮你找找环境变量。

如果我们在终端 echo $CMAKE_PREFIX_PATH,发现里面竟然有ros的路径,但是在QT里面没有!!!

这很奇怪,我没找到根本原因,我的解决办法就是,在bulid setting 里面增加一下就是了


cmake一下就搞定了。


还有必须提及一下,有时候找不到,是因为你没有安装包,在设置之前,检查自己装包了没。一般的roscpp包肯定有,但是一些其他的就不容乐观了。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值