建立 ROS2 Package 的 Build Type
建立 ROS2 軟體包 (package) 時,--build-type
參數用於指定建置系統的類型。在 ROS2 中,主要有兩種建置類型:
1. ament_cmake
ament_cmake
是 ROS2 官方推薦的 C++ 和混合語言軟體包的建置系統。它基於 CMake,但增加了 ROS2 專用的功能,例如:
自動處理相依性:它能自動管理 ROS2 軟體包之間的依賴關係。
跨平台支援:
ament_cmake
提供了更佳的跨平台相容性。整合測試:它能輕鬆整合測試框架。
當您建立一個 C++ 專案時,應使用此類型。
指令範例:
ros2 pkg create --build-type ament_cmake my_cpp_package
2. ament_python
ament_python
是專為純 Python 軟體包設計的建置系統。它基於標準的 Python 工具(如 setuptools
),並透過 ament
擴展來整合 ROS2 的功能。
輕量化:相較於
ament_cmake
,ament_python
更輕量,且不需要編譯,非常適合快速開發。Python 原生:它完美地與 Python 生態系統融合,讓您能使用所有標準的 Python 套件和工具。
當您建立一個純 Python 專案時,建議使用此類型。
指令範例:
ros2 pkg create --build-type ament_python my_python_package
總結
在選擇建置類型時,主要取決於您的專案語言:
C++ 或混合語言 (C++/Python):選擇
ament_cmake
。純 Python:選擇
ament_python
。
如果您在執行 ros2 pkg create
時沒有指定 --build-type
,ROS2 預設會為您選擇 ament_cmake
。
沒有留言:
張貼留言