如何从ros节点中的saperate目录导入外部.cpp和.h文件



我在catkin包中有一个简单的ros节点。现在,我想在我的节点中包含一个.h和另一个.cpp文件。.h和.cpp文件是另一个目录的一部分,该目录不是具有此节点的catkin包的一部分。所以我认为我需要在包的cmake列表中添加外部目录,但我不确定如何添加。有人能帮我怎么做吗?我还应该链接.h文件的目标吗?

catkin只是CMake的扩展,因此您可以使用标准的CMake命令来解决问题。

首先,您需要添加include目录(doc(,如:

include_directories(${YOUR_DIRECTORY})

可以通过设置变量(文档(来定义源文件

set(EXT_SOURCES
${YOUR_DIRECTORY}/file.cpp
)

在节点libaray(doc(和/或节点(doc(可执行文件中使用这些源文件:

add_library(library_name ${EXT_SOURCES})
add_executable(node_executable_name ${EXT_SOURCES})

最新更新