我正在尝试使用相机 sdk 在 ros 中编写相机流发布器。
它不是 uvc 相机,所以我不能使用 usb_cam 或其他类似节点来访问相机流。
我已经有一个由 ASICamera.h/libASICamera.a/libASICamera.so 组成的 sdk,我已经成功运行了它。
但现在我不知道如何让它在 ros 节点上运行。
然后我将头文件添加到 package/include 目录中
并将#include "ASICamera.h"放入发布者节点。
现在当我使用 catkin_make 时,它报告:
make[2]: *** [asi_converter_real/CMakeFiles/asi_converter_real.dir/src/asi_converter_real.cpp.o] Error 1
make[1]: *** [asi_converter_real/CMakeFiles/asi_converter_real.dir/all] Error 2
我认为原因是我没有将 .a 和 .so 添加到发布者节点中。
但是我不知道该怎么做
在package.xml中,好像是
build_depend 和 run_depend 标签只能访问 ros 内置的静态/动态库,我怎么能在 ros 节点中使用我自己的 .a 和 .so 呢?
最佳答案
检查您的 CMakeLists.txt。 更改您的包含目录:
include_directories(include
${catkin_INCLUDE_DIRS}
/Path/To/Include/Dirs
)
设置你的库路径:
link_directories(/Path/To/Libs)
并添加你的库:
link_libraries (library_names)
关于c++ - 如何在ros包中使用sdk(非ros header/lib/binaries)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27105573/