如何在ros包中使用sdk(非ros header / lib / binaries)?

时间:2014-11-24 13:06:04

标签: c++ c opencv camera ros

我正在尝试使用相机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节点中使用自己的.a和.so?

1 个答案:

答案 0 :(得分:1)

检查您的CMakeLists.txt。 更改您的包含目录:

include_directories(include
  ${catkin_INCLUDE_DIRS}
  /Path/To/Include/Dirs
)

设置库路径:

link_directories(/Path/To/Libs)

添加你的库:

link_libraries (library_names)