c++ - 在 cpp ros 节点中使用外部类
问题描述
除了 src 和 include 目录之外,我的 ros 包目录中有一个目录,其中我的类头文件和源文件是:
my_dir/my_class
my_class.cpp
my_class.hpp
我在 src 目录中的 cpp 中编写了一个 ros 节点。我在这个节点中创建了一个对象。我应该如何配置 cmake.txt 和 package.xml 以了解此类定义?
我只想在节点文件之外有类定义!
动力学 ros - ubuntu 16.04 - roscpp
解决方案
你不需要修改你的package.xml但你需要修改你的CMakeLists.txt。
添加额外的包含目录(在您的情况下:my_dir)
include_directories(
include ${catkin_INCLUDE_DIRS} my_dir
)
这允许包含标题,如
#include <my_class.hpp>
要将源文件构建到您的节点或库,只需将 common src目录替换为您的特定目录(在您的情况下:my_dir)
add_executable(your_node
src/your_node.cpp
my_dir/my_class.cpp
)
推荐阅读
- javascript - 获取:语法错误:缺少:在条件表达式中
- c# - 尝试删除 Azure Functions 中的 blob,但缺少 DeleteIfExists 方法
- c - 带/不带选项的 getopt 用法
- python - 从两个离散函数中获得最大值的最短 Python 代码是什么?
- visual-studio - 无法更新工作项 - 原因:TF237124:工作项尚未准备好保存
- json - JSON API 资源是否可以具有作为关系简写的属性?
- django - 无法找到 403 Forbidden 错误的原因:Nginx Daphne Django
- bluetooth - 有没有办法在不查看规格表的情况下找到蓝牙版本?
- javascript - Firebase auth() 子函数无法识别
- c++ - 在代码块中使用图形但没有输出