ROS中调用外部链接库
文章目录
一、工程结构
首先,在自己的工程下面建立三个包,有的就不用自己新建,分别为:include,lib和src。其中,include里面存放 .h 文件,lib中存放动态连接库 .os 文件,src中存放自己的 .cpp 文件。将对应类型的文件拷贝到对应的包中。整个工程结构如下图:
存放 .so 文件包:
存放 .h 文件包:
存放 .cpp 文件包:
二、CMakeLists.txt 文件配置
注:一下配置内容有些可以直接在源文件中取消注释,有些内容需要自己添加。
1.catkin_package配置
catkin_package(
INCLUDE_DIRS include
# LIBRARIES my_package
CATKIN_DEPENDS roscpp rospy std_msgs
# DEPENDS system_lib
)
2.include_directories配置
include_directories(
${catkin_INCLUDE_DIRS} include
)
3.link_directories配置
link_directories(
${catkin_LIB_DIRS} lib
)
4.文件执行配置
其中 “libDkamSDK.so” 和 “libGCBase.so” 为引用的库名。talker 为自己定义的 .cpp文件,根据自己的需求进行修改就可以了。
add_executable( talker src/talker.cpp)
target_link_libraries(talker ${catkin_LIBRARIES}
libDkamSDK.so
libGCBase.so
)