1.宣告依賴庫。
首先,我們需要宣告程式所依賴的其他功能包。
為了給出依賴庫,編輯包目錄下的 cmakelists.txt 檔案。該文
件的預設版本含有如下行:
find_package(catkin required)
所依賴的其他 catkin 包可以新增到這一行的 components 關鍵字
後面,如下所示:
find_package(catkin required components package-names)
我們同樣需要在包的清單檔案中列出依賴庫,通過使用
build_depend (編譯依賴)和 run_depend(執行依賴)兩個關鍵
字實現:
package-name
package-name
2.宣告可執行檔案3.編譯工作區
一旦你的 cmakelists.txt 檔案設定好,你就可以編譯
你的工作區,使用如下命令來編譯所有包中的所有可執行檔案:
catkin_make
因為被設計成編譯你的工作區中的所有包,這個命令必須從你的工作區目錄執行。
4.sourcing setup.bash
最後的步驟是執行名為 setup.bash 的指令碼
檔案,它是 catkin_make 在你工作區的 devel 子目錄下生成的。
source devel/setup.bash
這個自動生成的指令碼檔案設定了若干環境變數,從而使 ros 能夠
找到你建立的功能包和新生成的可執行檔案
注意:
修改include_directories為:即包括拷貝的標頭檔案所在的include目錄
include_directories(
$include
)
ROS catkin編譯的四個步驟
1.宣告依賴庫。首先,我們需要宣告程式所依賴的其他功能包。為了給出依賴庫,編輯包目錄下的 cmakelists.txt 檔案。該文 件的預設版本含有如下行 find package catkin required 所依賴的其他 catkin 包可以新增到這一行的 components 關鍵字 後面,...
ROS catkin工作空間的程式包
1 catkin程式包的組成 必須包含 package.xml 提供程式包的元資訊 包括包的依賴資訊 catkin版本的cmakelists.txt 每個目錄下只能有乙個程式包,即程式包不能巢狀,也不能並行。最簡單的程式包 my package cmakelists.txt package.xml2...
編譯系統的結構
編譯一定程度上我們可以理解為翻譯,所以我用乙個英語翻譯成中文的例子的解釋一下編譯系統的結構 eg i went to school by bus.如果讓大家翻譯的話,相信大家很快就能翻譯出來,但是翻譯的過程是什麼樣的呢?首先我們分析出 i 是人稱代詞,went是動詞,to是介詞,school是名詞,...