pnkx_nav_core/CATKIN_BUILD_README.md
2025-12-05 11:12:17 +07:00

1.5 KiB

Catkin Build Instructions

Vấn đề

Thư mục này có CMakeLists.txt ở root để hỗ trợ standalone CMake build. Tuy nhiên, catkin workspace không được phép có CMakeLists.txt ở root.

Khi chạy catkin_make trong thư mục này, bạn sẽ gặp lỗi:

The specified base path contains a CMakeLists.txt but "catkin_make" must be invoked in the root of workspace

Giải pháp

Option 1: Sử dụng script tự động (Khuyến nghị)

# Chạy script setup
./setup_catkin_workspace.sh

# Build trong workspace mới
cd ../pnkx_nav_catkin_ws
catkin_make
source devel/setup.bash

Option 2: Tạo workspace thủ công

# Tạo workspace
mkdir -p ~/pnkx_nav_catkin_ws/src
cd ~/pnkx_nav_catkin_ws/src

# Link các packages có package.xml
ln -s /path/to/pnkx_nav_core/src/Navigations/Packages/move_base move_base
# ... link các packages khác nếu cần

# Build
cd ~/pnkx_nav_catkin_ws
catkin_make

Build Systems

Project này hỗ trợ 2 build systems:

  1. Standalone CMake (mặc định)

    • Build trực tiếp trong thư mục này: mkdir build && cd build && cmake .. && make
    • Không cần catkin workspace
  2. Catkin (cho ROS integration)

    • Cần tạo workspace riêng (xem hướng dẫn trên)
    • Packages tự động detect catkin mode khi build trong workspace

Chi tiết

Xem src/Navigations/Packages/move_base/BUILD_INSTRUCTIONS.md để biết chi tiết về cách build package move_base với cả hai hệ thống.