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

关于 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这个必须加上, 双击应该能直接执行,如果不能执行,则更改下权限,让其能执行。

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


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

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

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

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

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

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

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

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

按照这样的节奏应该能用,但是当你打开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 里面增加一下就是了QT 调试ROS 但是打开工程出现错误,找不到roscpp.cmake之类


cmake一下就搞定了。


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