qt如何配置ros环境

在Qt5.7的版本可以使用bash -i -c来启动qt,让Qt自己识别系统环境,不知道为什么Qt在之后的版本,这样使用都失效了。因为它会默认把CMAKE_PREFIX_PATH修改掉。
网上还有安装ros插件版本的qt creator,感觉失去了一些灵活性。
自己测试发现,只要在CMakeList.txt中加入ros的库信息即可。

set(CMAKE_PREFIX_PATH "/home/peak/catkin_ws_test_qt_ros/devel;/opt/ros/kinetic;${CMAKE_PREFIX_PATH}")

这样编译是没有问题的。
但是运行的时候还要配置ROS的一个变量ROS_MASTER_URI
具体位置在qt的Build Environment

ROS_MASTER_URI = http://localhost:11311

截图如下:
在这里插入图片描述
后记:在ubuntu20.04 下面使用qt5.14的版本,使用qtcreator运行程序还会出现找不到ros库文件的问题,也是可以通过添加环境变量解决

QT配置ROS的详细方法如下: - **安装ros_qtc_plugin插件**:由于原生的Qt框架无法方便快捷地开发ROS项目,因此需要安装ROS industrial提供的基于Qt Creator的ROS集成开发环境插件 —— ros_qtc_plugin,以帮助在Qt Creator中更轻松地编写、调试和测试ROS程序。在Linux系统下,可通过以下命令安装: ```bash sudo add-apt-repository ppa:levi-armstrong/qt-libraries-xenial sudo add-apt-repository ppa:levi-armstrong/ppa sudo apt update && sudo apt install qt57creator sudo apt install qt57creator-plugin-ros ``` 注:前两条命令是添加key,执行成功后会提示“OK”,如果多次不成功,则需要配置“软件和更新”。完成上述步骤后,ros_qtc_plugin插件应该就安装好了 [^1][^3]。 - **设置环境变量**:在Qt的系统环境中添加编译环境变量和运行环境变量,对于ROS1可直接在CMakeList.txt中添加Ros环境变量,而ROS2则需手动添加。运行时,还需配置ROS的变量`ROS_MASTER_URI`,具体位置在qt的Build Environment,设置为`ROS_MASTER_URI = http://localhost:11311` [^2][^3]。 在CMakeList.txt中添加Ros环境变量示例: ```cmake # 查找ROS相关的依赖包 find_package(catkin REQUIRED COMPONENTS roscpp rospy std_msgs ) # 设置catkin工作空间 catkin_package( CATKIN_DEPENDS roscpp rospy std_msgs ) # 包含ROS的头文件路径 include_directories( ${catkin_INCLUDE_DIRS} ) ``` - **创建ROS工作空间与软件包**:在Qt Creator中,可使用ROS插件创建和管理ROS软件包。在Qt Creator的“Welcome”界面,点击“New Project”按钮,在“New Project”对话框中,选择“ROS Workspace”下的“ROS Package”模板,点击“Choose”,在“Create ROS Package”对话框中,输入软件包的名称、依赖关系等信息,并指定软件包的路径,然后点击“Create”,Qt Creator将自动生成ROS软件包的基本结构和配置文件 [^1][^4]。 也可以不使用QT自带的包创建工具,而是使用原本的ROS创建包工具在工作空间的src目录下创建,例如使用ROS2的创建包命令: ```bash ros2 pkg create village_wang --build-type ament_cmake --dependencies rclcpp ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

可峰科技

生活不易

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值