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...