QT+ros2打包发布方法

系统版本说明:

        ubuntu 20.0.4

        ros2 版本:foxy

        qt版本:5.15.2

目标:

只是简单打包到其它电脑可以使用,不包括打包为安装包。

方法:

主要参考的这个方法,比较简单:

ubuntu下打包发布Qt_ROS程序-CSDN博客

出现的问题是,执行完成后,打开程序直接就退出了。

原因:之前安装过不同的qt版本,导致默认的查找路径不对。参考下面的方法进行修改。

        修改系统qt环境

        cd /usr/lib/x86_64-linux-gnu/qt-default/qtchooser
        sudo vi default.conf
        修改为自己的qt安装路径

        /home/Qt5.14.2/5.14.2/gcc_64/bin
        /home/Qt5.14.2/5.14.2

linuxdeployqt打包方法参考,稍复杂,可直接用:

Linux下使用linuxdeployqt发布Qt程序-CSDN博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Qt中使用ROS2进行topic通讯需要使用ROS2的C++ API。以下是一些基本步骤: 1. 安装ROS2和Qt 2. 在Qt中创建一个C++项目 3. 在CMakeLists.txt中添加以下代码以链接ROS2: ``` find_package(ament_cmake REQUIRED) find_package(rclcpp REQUIRED) find_package(std_msgs REQUIRED) ``` 4. 在Qt中创建一个ROS2节点: ``` #include "rclcpp/rclcpp.hpp" #include "std_msgs/msg/string.hpp" class MyNode : public rclcpp::Node { public: MyNode() : Node("my_node") { publisher_ = this->create_publisher<std_msgs::msg::String>("my_topic", 10); timer_ = this->create_wall_timer(std::chrono::milliseconds(500), std::bind(&MyNode::publishMessage, this)); } private: void publishMessage() { auto message = std_msgs::msg::String(); message.data = "Hello, world!"; publisher_->publish(message); } rclcpp::Publisher<std_msgs::msg::String>::SharedPtr publisher_; rclcpp::TimerBase::SharedPtr timer_; }; ``` 5. 在Qt中订阅ROS2话题: ``` #include "rclcpp/rclcpp.hpp" #include "std_msgs/msg/string.hpp" class MyNode : public rclcpp::Node { public: MyNode() : Node("my_node") { subscriber_ = this->create_subscription<std_msgs::msg::String>("my_topic", 10, std::bind(&MyNode::receiveMessage, this, std::placeholders::_1)); } private: void receiveMessage(const std_msgs::msg::String::SharedPtr message) { qDebug() << "Received message: " << message->data.c_str(); } rclcpp::Subscription<std_msgs::msg::String>::SharedPtr subscriber_; }; ``` 这些是基本的步骤,你可以根据你的需求和情况进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值