qt使用ros库

作者最近研究移动移动机器人,由于有QT开发的经验,所有想要在QT中使用ros库。因为配置环境问题最后编译一直通不过。所以花掉了很多时间处理。如果对于读者有所帮助,本人倍感荣幸。

本人的环境是 ubuntu14.04 + qt 5.7 + ros(indigo)

1.首先分别安装好qt和ros,ros按照官网完成安装和配置。qt安装也很简单,我不再赘述。

2.重点在于需要配置qt的启动文件。需要在qt启动时加载ros的环境变量,否则无法编译通过。我参考了许多博主的文章。不同的qt版本配置也有所不同。有的版本可以为:

sudo    gedit ~/.local/share/applications/DigiaQtOpenSource-qtcreator.desktop
不保存退出。如果你看到下面的代码说明对了。
[Desktop Entry]
Type=Application
Exec=/home/cyy/Qt5.6.0/Tools/QtCreator/bin/qtcreator
Name=Qt Creator (Community)GenericName=The IDE of choice for Qt development.Icon=QtProject-qtcreatorTerminal=falseCategories=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;
 
   
  假如读者打上面的这条命令发现打开的是个空文件,我很抱歉的告诉你,你文件的位置不对。网上有很多版本的路径,我觉得不要去试了,直接打下面的命令找吧。虽然有很多很多,耐心点找有关于qt的.desktop的文档。 
  

locate .desktop
3.接下来就是修改上面的文档了。只需要在Exec=。。。这一行等号的后面加入bash -i -c。变成为:
Exec=bash -i -c /home/cyy/Qt5.6.0/Tools/QtCreator/bin/qtcreator

4.保存退出。重启qt。

5.在qt的.pro中加入下面的代码。路径根据自己的修改。

INCLUDEPATH += /opt/ros/indigo/include
DEPENDPATH +=   /opt/ros/indigo/include
LIBS += -L/opt/ros/indigo/lib -lroscpp -lrospack -lpthread -lrosconsole -lrosconsole_log4cxx -lrosconsole_backend_interface -lxmlrpcpp -lroscpp_serialization -lrostime  -lcpp_common  -lroslib -ltf  -lyaml-cpp -lkdl_conversions
LIBS += -l:/opt/ros/indigo/lib/libroslib.so
6.加入头文件,这样就可以使用ros库了。

你可能感兴趣的:(Qt)