2014-11-24 50 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