【发布时间】:2020-04-06 12:07:39
【问题描述】:
我在 catkin 包中有一个简单的 ros 节点。现在我想在我的节点中包含一个 .h 和另一个 .cpp 文件。 .h 和 .cpp 文件是另一个目录的一部分,该目录不属于具有此节点的 catkin 包的一部分。所以我相信我需要在我的包的 cmake 列表中添加外部目录,但我不确定如何。谁能帮我怎么做?我还应该链接 .h 文件的目标吗?
【问题讨论】:
我在 catkin 包中有一个简单的 ros 节点。现在我想在我的节点中包含一个 .h 和另一个 .cpp 文件。 .h 和 .cpp 文件是另一个目录的一部分,该目录不属于具有此节点的 catkin 包的一部分。所以我相信我需要在我的包的 cmake 列表中添加外部目录,但我不确定如何。谁能帮我怎么做?我还应该链接 .h 文件的目标吗?
【问题讨论】:
catkin 只是 CMake 的一个扩展,所以你可以使用标准的 CMake 命令来解决你的问题。
首先,您需要添加包含目录(doc),如:
include_directories(${YOUR_DIRECTORY})
可以通过设置变量来定义源文件(doc)
set(EXT_SOURCES
${YOUR_DIRECTORY}/file.cpp
)
在您的节点 libaray (doc) 和/或节点 (doc) 可执行文件中使用这些源文件:
add_library(library_name ${EXT_SOURCES})
add_executable(node_executable_name ${EXT_SOURCES})
【讨论】: