2014-11-24 189 views
1

我正在尝试使用相机sdk在ros中编写相机流发布者。如何在ros包中使用sdk(非ros头文件/ lib/binaries)?

这不是一个uvc相机,所以我不能使用usb_cam或其他类似的节点来访问相机流。

我已经有一个由ASICamera.h/libASICamera.a/libASICamera.so组成的sdk,并且我已经成功运行了它。

但是现在我不知道如何让它在ros节点中运行。

然后,添加的头文件到包装/包括目录

和#包括“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吗?

回答

1

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

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

设置你的库路径:

link_directories(/Path/To/Libs) 

,并添加库:

link_libraries (library_names) 
+0

THX斯特芬,现在我能得到的可执行文件。谢谢!!!!!!!!!! – 2014-11-25 06:45:50