🛠️ catkin build 介紹
catkin build 是一個用於建構(build)catkin_make 的一個更現代、更強大的替代品,設計用於建構大型的 Catkin 工作空間(workspace)。
核心功能與優勢
平行建構 (Parallelism):
catkin build最重要的優勢之一是它能自動利用您的電腦的多核處理器,同時建構多個套件 (packages)。這顯著加快了大型工作空間的建構時間。
單一套件建構 (Isolating Package Builds):
如果某個套件建構失敗,
catkin build通常可以更清楚地指示是哪個套件出錯,而且只會嘗試重新建構失敗的套件及其相依項,而不是整個工作空間。
更清晰的輸出 (Better Output):
它提供了一個更簡潔、更具組織性的終端機輸出,讓您可以一目了然地看到哪些套件正在建構、哪些已完成,以及建構所需的時間。
隔離的建構空間 (Isolated Build Space):
catkin build會在工作空間(通常是src資料夾的父目錄)中建立一個獨立的build資料夾來存放所有中間建構檔案,而不是像catkin_make一樣將所有東西都放在一個devel資料夾中。它還提供一個隔離的安裝空間 (isolated install space),這對於建立發行版或測試單一套件的安裝效果很有幫助。
基本使用
1. 安裝 (如果尚未安裝)
catkin build 並不屬於 ROS 的核心安裝,但通常會隨 ROS 系統一起安裝。如果沒有,您可能需要安裝它:
sudo apt update
sudo apt install python3-catkin-tools
或對於舊版 ROS (如 Melodic/Kinetic):
sudo apt update
sudo apt install python-catkin-tools
2. 建立 Catkin 工作空間
您需要一個標準的 Catkin 工作空間結構。
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace # 建立一個空的 CATKIN_IGNORE 檔案
cd ..
3. 執行建構
在您的工作空間根目錄(例如 ~/catkin_ws)下執行:
catkin build
建構特定的套件:
Bashcatkin build <package_name>清除並重新建構 (Clean and Build):
Bashcatkin clean # 清除建構檔案 catkin build
4. 設定環境
建構完成後,您需要將新的執行檔路徑加入到您的終端機環境中,這樣您才能執行您建構的節點 (nodes):
source ~/catkin_ws/devel/setup.bash
# 如果您使用了 --install 選項,則改為
# source ~/catkin_ws/install/setup.bash
總結
| 特性 | catkin build | catkin_make |
| 平行建構 | 預設啟用,效率更高 | 需手動使用 -j 參數 |
| 工作空間結構 | 有單獨的 build 資料夾,更乾淨 | 建構結果都放在 devel |
| 指令介面 | 提供更多選項,更清晰的輸出 | 較為基本 |
| 推薦用途 | 推薦用於所有 Catkin 工作空間 | 適用於簡單、單一套件的建構 |
您是否希望我進一步介紹 catkin build 的常用選項(例如:-j、--install、--cmake-args)或是說明 如何將現有的 catkin_make 工作空間轉換為使用 catkin build 呢?
沒有留言:
張貼留言