cmake开发环境 linux qt_ROS与C++入门教程-搭建开发环境(QT+ros_qtc_plugin)

ROS与C++入门教程-搭建开发环境(QT+ros_qtc_plugin)

说明:

介绍如何搭建QT环境来开发ROS包

介绍QT安装

介绍QT编译和调试ROS包

测试环境:

系统版本:Ubuntu14.04

ROS版本:indigo

QT版本:5.8.0

QtCreator安装

安装前准备,安装相应的GNU开发工具集和OpenGL开发库, 请注意安装软件都需要root权限,并且要联网安装

sudo apt-get install build-essential libgl1-mesa-dev libevent-pthreads-2.0.5 doxygen xorg-dev

下载64位Linux安装包为 qt-opensource-linux-x64-5.8.0.run。

下载地址:http://download.qt.io/archive/qt/5.8/5.8.0/qt-opensource-linux-x64-5.8.0.run

下载的run文件不一定具有可执行权限, 可以执行如下命令开启执行权限(以64位安装包为例)

cd ~/tools/

wget http://download.qt.io/archive/qt/5.8/5.8.0/qt-opensource-linux-x64-5.8.0.run

chmod +x ~/tools/qt-opensource-linux-x64-5.8.0.run

桌面下,点击文件,进入tools,双击 .run 安装文件直接图形界面安装

注册帐号,需要邮箱和密码。可以先进入网站注册帐号,https://login.qt.io/register.

默认安装在 /home//Qt5.8.0下

需要的Qt组件和工具,默认不安装源码

默认Next完整安装,完成后点左上角的 Dash home,输入“qt”如果看到 Qt Creator 图标则安装成功

设置快捷方式

这一步将要修改Qt Creator快捷方式,使从快捷方式启动Qt Creator的同时加载ROS环境变量。

打开terminal,输入下面的命令:

gedit ~/.local/share/applications/DigiaQtOpenSource-qtcreator.desktop

这条命令将打开DigiaQtOpenSource-qtcreator.desktop快捷方式文件,可以看到文件内容如下:

[Desktop Entry]

Type=Application

Exec=/home/ubu/Qt5.8.0/Tools/QtCreator/bin/qtcreator

Name=Qt Creator (Community)

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 即改为 Exec=bash -i -c /home/ubu/Qt5.8.0/Tools/QtCreator/bin/qtcreator ,保存并退出。

添加 bash -i -c 是为了在通过快捷方式启动Qt Creator的同时加载ROS环境变量

如果打开的文件是空,则表示没有找到DigiaQtOpenSource-qtcreator.desktop文件

可能是安装路径不在本地用户目录下,或者版本不同导致的文件名不一致。

可以在 ~/.local/share/applications/ 和 /usr/share/applications/ 两个路径下用 ls qt 命令找找看。

如果没有上述快捷方式文件,自己新建一个,只要文件内容类似上面的类容,路径正确即可。

快捷方式可以放在 ~/.local/share/applications/ 和 /usr/share/applications/ 两个位置。

当然也可以放在任意其他位置,功能跟放在上面两个位置一样,但左边的任务栏不会正确显示图标

安装ros_qtc_plugin插件

Ubuntu 14.04使用apt-get方式安装,会安装5.7版本的Qt Creator

sudo add-apt-repository ppa:levi-armstrong/qt-libraries-trusty

sudo add-apt-repository ppa:levi-armstrong/ppa

sudo apt-get update && sudo apt-get install qt57creator-plugin-ros

安装完成在Dash home出现Qt 5.7.1 Creator, 点击即可启动带插件的QtCreator

修改系统配置文件让Qt启动器选择新版的Qt

$ sudo gedit /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf

内容为:

/usr/lib/x86_64-linux-gnu/qt4/bin

/usr/lib/x86_64-linux-gnu

修改成:

/home/ubu/Qt5.8.0/5.8/gcc_64/bin

/home/ubu/Qt5.8.0/5.8/gcc_64/lib

/home/ubu是我的主文件夹绝对路径,请对应修改为自己的。

如果有多个QT版本,可以有不同的默认设置,查找并同样修改

/usr/lib/x86_64-linux-gnu/qtchooser/default.conf

/usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf

ros_qtc_plugin插件新建项目

利用插件不仅可以新建工作空间还可以导入现有的工作空间,而“新建文件”中的“ROS”下面的“Package”、“Basic Node”等选项可以创建package和和节点、launch文件、urdf文件等

(1)新建项目:

“文件”——“新建文件或项目”,选择”Import ROS Workspace”——“choose”

然后填写catkin工作空间的名字和位置

选择“浏览”——“创建文件夹”,创建一个名为catkin_new的文件夹,如下图,按回车,再选择“打开”

在“项目管理”步骤可以配置版本控制系统,我们选择“完成”,如下图

建好的工作空间,如果没出现src目录,可以关闭,重开即可。

(2)创建package

在catkin_new下面的src上右键单击,选择“添加新文件”,如下图

然后选择“ROS”——“package”——“choose”

填写package的名字,如test1

填写作者(Authors)和维护者(Maintainers),如果你的Qt环境部没有配置中文支持请不要用中文,否则无法新建package

或者新建的package里面的package.xml会是空文件

在“Dependencies”下的“Catkin”一栏填写依赖,通常用C++写节点需要添加对roscpp的依赖

如下图

下一步,再点击完成

(3)添加新的节点

test1的src文件夹上右键单击,选择“添加新文件”

选择“ROS”——“Basic Node”——“choose”,创建一个节点,也就是新建一个.cpp文件

节点名称写为“node1”,则生成一个名为node1.cpp的源文件

用ROS模板新建的node1.cpp的源文件如下图,是自动生成的一个Hello World程序

编译节点,为test1的CMakeLists.txt加上下面几行,意思是把node1.cpp编译成名为node1的节点

再后面include_directories,添加

add_executable(node1 src/node1.cpp)

target_link_libraries(node1

${catkin_LIBRARIES}

)

如图:

修改完CMakeLists.txt之后点击Qt左下角的锤子图标“构建项目catkin_new”

点击底边栏的“4 编译输出”可以看到编译结果,如下图

(4)运行节点

新终端,运行roscore

$roscore

点击左侧兰的“项目”,在“Build&Run”页

测试时候无法选择Packge和Target,不过可以手工填写Arguments。也可以直接写入执行的命令和参数。

点击左下角的“三角”运行

参考:

http://download.qt.io/archive/qt/5.8/5.8.0/

http://www.aicrobo.com/blog/2013-12-ros_ide_qtcreator.html

https://wizardforcel.gitbooks.io/qt-beginning/content/4.html

https://lug.ustc.edu.cn/sites/qtguide/

https://github.com/ros-industrial/ros_qtc_plugin

https://github.com/ros-industrial/ros_qtc_plugin/wiki/1.-How-to-Install-(Users)

http://blog.csdn.net/u013453604/article/details/52186375

http://blog.csdn.net/u013453604/article/details/52167213

http://wiki.ros.org/qt_create/Tutorials/Qt%20App%20Templates

http://myzharbot.robot-home.it/blog/software/myzharbot-ros/qtcreator-ros/

http://www.ciencia-explicada.com/2014/12/ros-how-to-develop-catkin-packages-from-an-ide.html

https://github.com/ros-industrial/ros_qtc_plugin/issues?q=is%3Aissue+is%3Aclosed

你可能感兴趣的:(cmake开发环境,linux,qt)