本文共 782 字,大约阅读时间需要 2 分钟。
举例说明如下
1、建立文件树如下:
myproject:
include
– Interface.hlib
– libInterface.sosrc
– control.cppCMakeLists.txt
package.xml
即在对应的源文件包下建立两个文件夹include(放.so对应的头文件),lib(放.so文件)
2、然后配置CMakeLists.txt
include_directories( ${ catkin_INCLUDE_DIRS} include) link_directories( ${ catkin_LIB_DIRS} lib) add_executable(base_control src/control.cpp)target_link_libraries(base_control ${ catkin_LIBRARIES} Interface)
注意最后倒数第二行Interface这里,该.so
文件名为libInterface.so
解决/usr/bin/ld: cannot find -lxxxx
的问题:
参考:https://blog.csdn.net/zhuquan945/article/details/79725201
试过添加路径的方法但是catkin_make
不好用,所以最后采用了直接把.so
文件通过sudo cp
指令复制到/usr/lib
,然后sudo ldconfig
,就ok了
————————————————
版权声明:本文为CSDN博主「跃动的风」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/qq_23670601/article/details/83272531