ROS 鏈結同乙個工作空間的其他包的標頭檔案

2021-08-20 12:52:11 字數 881 閱讀 2975

catkin_make編譯時,往往需要鏈結同乙個工作空間的其他包的標頭檔案。

如果沒有修改配置檔案直接呼叫該標頭檔案

#include
否則會出現類似如下的錯誤,也有可能會直接卡死:

/home/xx/xx_ws/srca_package/src/db.hpp:13:26: fatal error: b_package/testb.h: no such file

ordirectory

#include

^

正確呼叫其他package標頭檔案的方法如下:

1.在a_package包的package.xml中新增編譯和執行的依賴庫,如下:

b_packagebuild_depend>

b_packagerun_depend>

2.在a_package包的cmakelist.txt中的find_package新增b_package如下:

find_package

(catkin required

components roscpp rospy std_msgs b_package )

主要新增」b_package」,其他已有的package項不用新增

3.在a_package包的cmakelist.txt中的include_directories新增$如下:

include_directories(include

$)

部分工程已經有該項,不用重複新增

4.此時在呼叫該標頭檔案則不會出錯

#include

IDEA如何把多個專案放在同乙個工作空間下

idea將多個專案放在同乙個工作空間下 01 將多個專案移入空間的根目錄下 關於如何建立乙個新的空間在另一篇 02 開啟intellij idea編譯器,點選選單 file open,選擇工作空間根目錄 03 開啟介面如下,專案是灰色的 原因是 idea未識別空間下的專案是m en專案 04 為了讓...

ROS 引用同一工作空間下其他包中的 h 檔案

引用同一工作空間下其他package的 h 檔案,一種方法是建立library生成動態鏈結庫 so 1 2 3 另一種方法是直接引用 h 檔案 1 2 1 catkin package include dirs include libraries motordriver catkin depends...

ROS學習 在同乙個節點實現發布 訂閱訊息

在ros的應用中,常常會遇見乙個節點接收了某個資料後,經過處理再 出來。下面就這種情況給出在同乙個節點實現發布 訂閱訊息的例子。include ros ros.h include std msgs float64.h include class tl1 intmain int argc,char a...