我在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})