1.5 KiB
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:
-
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
- Build trực tiếp trong thư mục này:
-
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.