這篇涵蓋了使用一系列工具build package
1 編譯package
只要安裝了所有你的包需要的依賴,你就可以編譯你的包了惠窄。
在開始之前你要先準(zhǔn)備好你的環(huán)境设塔,ROS環(huán)境,就像這樣:
$ source /opt/ros/%YOUR_ROS_DISTRO%/setup.bash
比如我是Kinetic疾渴,所以我應(yīng)該輸入:
$ source /opt/ros/kinetic/setup.bash
1.1 使用catkin_make
它就類似于make,cmake這個(gè)的命令行工具。
用法:
# In a catkin workspace 在catkin工作空間里面用
$ catkin_make [make_targets] [-DCMAKE_VARIABLES=...]
標(biāo)準(zhǔn)的CMake工作流程是這樣的
# In a CMake project
$ mkdir build
$ cd build
$ cmake ..
$ make
$ make install # (optionally)
對于catkin工程屯仗,可以把工作區(qū)中的0到多個(gè)package一起編譯,還記得前面建立包的時(shí)候吧搔谴,里面什么都沒有也可以編譯一下魁袜。
# In a catkin workspace
$ catkin_make
$ catkin_make install # (optionally)
這個(gè)命令會(huì)編譯src文件夾里的所有catkin 工程,如果你放在了別的文件夾敦第,可以直接告訴它峰弹。比如你放在了my_src里面,你就可以寫芜果。
# In a catkin workspace
$ catkin_make --source my_src
$ catkin_make install --source my_src # (optionally)
想要學(xué)習(xí)更多的catkin_make用法鞠呈,可以看文檔
1.2 編譯你的package
首先打開catkin工作空間,并且確認(rèn)有package右钾。
例如:
$ cd ~/catkin_ws/
$ ls src
然后執(zhí)行
catkin_make
就會(huì)得到下面這段:
Base path: /home/qkingros/catkin_ws
Source space: /home/qkingros/catkin_ws/src
Build space: /home/qkingros/catkin_ws/build
Devel space: /home/qkingros/catkin_ws/devel
Install space: /home/qkingros/catkin_ws/install
####
#### Running command: "make cmake_check_build_system" in "/home/qkingros/catkin_ws/build"
####
-- Using CATKIN_DEVEL_PREFIX: /home/qkingros/catkin_ws/devel
-- Using CMAKE_PREFIX_PATH: /opt/ros/kinetic
-- This workspace overlays: /opt/ros/kinetic
-- Using PYTHON_EXECUTABLE: /usr/bin/python
-- Using Debian Python package layout
-- Using empy: /usr/bin/empy
-- Using CATKIN_ENABLE_TESTING: ON
-- Call enable_testing()
-- Using CATKIN_TEST_RESULTS_DIR: /home/qkingros/catkin_ws/build/test_results
-- Found gtest sources under '/usr/src/gtest': gtests will be built
-- Using Python nosetests: /usr/bin/nosetests-2.7
-- catkin 0.7.4
-- BUILD_SHARED_LIBS is on
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ~~ traversing 1 packages in topological order:
-- ~~ - beginner_tutorials
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- +++ processing catkin package: 'beginner_tutorials'
-- ==> add_subdirectory(beginner_tutorials)
-- Configuring done
-- Generating done
-- Build files have been written to: /home/qkingros/catkin_ws/build
####
#### Running command: "make -j2 -l2" in "/home/qkingros/catkin_ws/build"
####
可以看到首先顯示的是每一個(gè)space的路徑蚁吝,同時(shí)編譯之后建立了一些新的文件旱爆。
build 文件夾:這是cmake和make用來配置和編譯你的包的地方
devel 文件夾:在你安裝你的包之前,這里存放著可執(zhí)行程序和庫文件窘茁。
他們的路徑就是space指定的位置怀伦。
官方教程又騙了我一次,到現(xiàn)在還是沒有做自己的包山林。