【发布时间】:2021-11-27 21:45:41
【问题描述】:
我在 ubuntu 上为 QT 安装了 ROS 插件,但如果我在项目中创建订阅者节点,则会在 #include "ros / ros.h" 上出现错误
据我了解,我需要使用 catkin 创建一个工作区,但是如何将我已有的项目与工作区合并?
【问题讨论】:
-
是的,很抱歉这里打错了,当然在代码中是正确的
标签: c++ qt qt-creator ros
我在 ubuntu 上为 QT 安装了 ROS 插件,但如果我在项目中创建订阅者节点,则会在 #include "ros / ros.h" 上出现错误
据我了解,我需要使用 catkin 创建一个工作区,但是如何将我已有的项目与工作区合并?
【问题讨论】:
标签: c++ qt qt-creator ros
如果您已经有一个 catkin 工作区,您只需创建一个新包并在那里构建项目;你可以看到关于那个here的教程。简而言之,您可以在~/<your_workspace>/src 中创建一个依赖于roscpp 这个命令catkin_create_pkg your_new_package std_msgs roscpp 的包。然后,您应该将 .cpp 文件放在 <your_new_package>/src 目录中,将 .hpp 文件放在 <your_new_package>/include 目录中。之后你需要做的就是通过 catkin 和 cmake 构建它。由于 ros 包是使用 cmake 构建的,因此这是通过编辑每个包中的 CMakeLists.txt 文件来完成的。您可以找到有关 here 的更多信息。本质上,您想确保您的源文件被捕获和构建。它可能看起来像这样
cmake_minimum_required(VERSION 2.8.3)
project(your_new_node_name)
## Find catkin and any catkin packages
find_package(catkin REQUIRED COMPONENTS roscpp std_msgs genmsg)
## Generate added messages and services
generate_messages(DEPENDENCIES std_msgs)
## Declare a catkin package
catkin_package()
## Build talker and listener
include_directories(include ${catkin_INCLUDE_DIRS})
add_executable(your_qt_executable src/your_source_file.cpp)
target_link_libraries(your_qt_executable ${catkin_LIBRARIES})
#uncomment this if other deps are needed
#add_dependencies(your_qt_executable some_other_dependency)
【讨论】: