本篇中,我們首先會展示catkin_make如何構建package,然後演示在不使用catkin_make的情況下手動構建,從而加深對catkin_make工作流程的理解。
$ cd ~/catkin_ws/src/beginner_tutorials/src
# 新增/編輯 原始碼
$ cd ~/catkin_ws/src/beginner_tutorials
# 更新 cmakefiles.txt 使其與原始碼的更改同步
$ cd ~/catkin_ws
$ catkin_make -dcmake_build_type=release
可以看到的devel的目錄結構如下:
devel/
├── env.sh
├── lib
│ └── pkgconfig
│ ├── beginner_tutorials.pc
│ ├── newpack.pc
│ └── turorials.pc
├── setup.bash
├── setup.sh
├── _setup_util.py
├── setup.zsh
└── share
└── beginner_tutorials
└── cmake
├── beginner_tutorialsconfig.cmake
└── beginner_tutorialsconfig-version.cmak
這將在構建空間(~/catkin_ws/build)中構建原始碼空間 (~/catkin_ws/src)中的任何package。源**將保留在原始碼空間(~/catkin_ws/src)中,而庫檔案、可執行檔案等由源**生成的檔案將被放置在構建空間(~/catkin_ws/build)中。
如果想要像使用make命令一樣使用引數,你需要這樣使用catkin_make:
$ cd ~/catkin_ws
$ catkin_make install
這等價於:
cd ~/catkin_ws/build && make install
這將會建立乙個』install』資料夾,且包含自己的setup.*sh檔案,執行其中之一,當前的環境會由devel空間替換為install空間。
注意,只能使用install空間和devel空間之一。二者優劣比較:
使用引數將寫好的package安裝到系統:
# this is an example
$ cd ~/catkin_ws
$ catkin_make install -dcmake_install_prefix=/opt/ros/groovy # might need sudo
使用如下命令在已編譯過的工作空間中新增新的package:
$ catkin_make --force-cmake
如果想檢視catkin_make的具體呼叫的命令,使用如下引數:
$ catkin_make -dcmake_verbose_makefile
=on
留待後續課程深入。 ROS教程2 ROS檔案系統介紹
由於該部分會用到程式包ros tutorials,因此需要先安裝 sudo apt install ros ros tutorials注意將 替換成你所安裝的版本 比如jade indigo hydro groovy fuerte等 本文所使用的主要是kinetic版本,因此寫成 sudo apt ...
ROS學習記錄2 ROS框架的概述
要想真的用好ros這款框架,需要我們需要比較好了解整個框架的架構。本文只做概念性的記錄,後面會詳細編寫其內容。對於這一節內容,我選擇了幾個比較好的部落格鏈結分享 ros學習筆記二 ros系統架構及概念 ros被分為三部分與層級 檔案系統級 計算圖級 開源社群級。引用一張圖,其中檔案系統級可以由綜合功...
ros學習記錄2 ros檔案系統
在工作空間組織和管理功能包的資料夾,用catkin工具來編譯 2.1.1 建立工作空間 mkdir p tutorial ws src 建立catkin工作空間 名字自定義,但是要有src資料夾 cd catkin ws 回到工作空間,catkin make必須在工作空間下執行 catkin mak...