在 cpp ros 节点中使用外部 类
Using external classes in cpp ros nodes
我的ros包目录下除了src和include目录还有一个目录,其中我的class头文件和源文件是:
my_dir/my_class
my_class.cpp
my_class.hpp
我在src目录下用cpp写了一个ros节点。
我在此节点中创建了一个对象。我应该如何配置 cmake.txt 和 package.xml 以了解此 class 定义?
我只想在节点文件之外有 class 定义!
动力学 ros - ubuntu 16.04 - roscpp
如果您使用 catkin_create_pkg
创建包,通常您只需调用 catkin_make
来构建您的项目,您无需在 package.xml.[=25 中手动编写任何内容=]要在其他文件中找到您定义的 class,只需将头文件包含在您的节点中,就像简单的 C++ 程序一样。
关于 CMakeLists.txt,请参阅 here,最后几行将告诉您如何添加可执行文件。 CMakeLists.txt是自动生成的,里面注释了一大堆解释,你看看吧。它通过示例解释了您需要的一切,做得非常好。
此外,您可以查看我参考的 ros tutorials 以了解有关 ROS 的所有基础知识。
最后,你有一个比Whosebug更好的ROS问题的专业网站,它是ros answers。它是ROS用户的金矿。
希望你能找到答案:)
您不需要修改您的package.xml,但您需要修改您的CMakeLists.txt。
添加额外的包含目录(在您的情况下:my_dir)
include_directories(
include ${catkin_INCLUDE_DIRS} my_dir
)
这允许包括 header 喜欢
#include <my_class.hpp>
要将源文件构建到您的节点或库中,只需将公共 src 目录替换为您的特定目录(在您的情况下:my_dir )
add_executable(your_node
src/your_node.cpp
my_dir/my_class.cpp
)
我的ros包目录下除了src和include目录还有一个目录,其中我的class头文件和源文件是:
my_dir/my_class
my_class.cpp
my_class.hpp
我在src目录下用cpp写了一个ros节点。 我在此节点中创建了一个对象。我应该如何配置 cmake.txt 和 package.xml 以了解此 class 定义?
我只想在节点文件之外有 class 定义!
动力学 ros - ubuntu 16.04 - roscpp
如果您使用 catkin_create_pkg
创建包,通常您只需调用 catkin_make
来构建您的项目,您无需在 package.xml.[=25 中手动编写任何内容=]要在其他文件中找到您定义的 class,只需将头文件包含在您的节点中,就像简单的 C++ 程序一样。
关于 CMakeLists.txt,请参阅 here,最后几行将告诉您如何添加可执行文件。 CMakeLists.txt是自动生成的,里面注释了一大堆解释,你看看吧。它通过示例解释了您需要的一切,做得非常好。
此外,您可以查看我参考的 ros tutorials 以了解有关 ROS 的所有基础知识。
最后,你有一个比Whosebug更好的ROS问题的专业网站,它是ros answers。它是ROS用户的金矿。
希望你能找到答案:)
您不需要修改您的package.xml,但您需要修改您的CMakeLists.txt。
添加额外的包含目录(在您的情况下:my_dir)
include_directories(
include ${catkin_INCLUDE_DIRS} my_dir
)
这允许包括 header 喜欢
#include <my_class.hpp>
要将源文件构建到您的节点或库中,只需将公共 src 目录替换为您的特定目录(在您的情况下:my_dir )
add_executable(your_node
src/your_node.cpp
my_dir/my_class.cpp
)