2025年8月19日 星期二

建立 ROS2 Package 的 Build Type

 

建立 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_cmakeament_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

沒有留言:

張貼留言