ROS:catkin编译的四个步骤

1.声明依赖库。
首先,我们需要声明程序所依赖的其他功能包。
为了给出依赖库,编辑包目录下的 CMakeLists.txt 文件。该文
件的默认版本含有如下行:
find_package(catkin REQUIRED)
所依赖的其他 catkin 包可以添加到这一行的 COMPONENTS 关键字
后面,如下所示:
find_package(catkin REQUIRED COMPONENTS package-names)

我们同样需要在包的清单文件中列出依赖库,通过使用
build_depend (编译依赖)和 run_depend(运行依赖)两个关键
字实现:
package-name
package-name

2.声明可执行文件
接下来,我们需要在 CMakeLists.txt 中添加两行,
来声明我们需要创建的可执行文件。其一般形式是:
add_executable(executable-name source-files)
target_link_libraries(executable-name ${catkin_LIBRARIES})
第一行声明了我们想要的可执行文件的文件名,以及生成此
可执行文件所需的源文件列表。如果你有多个源文件,把它们列
在此处,并用空格将其区分开。第二行告诉 Cmake 当链接此可执
行文件时需要链接哪些库(在上面的 find_package 中定义)。如果
你的包中包括多个可执行文件,为每一个可执行文件复制和修改
上述两行代码。

3.编译工作区
一旦你的 CMakeLists.txt 文件设置好,你就可以编译
你的工作区,使用如下命令来编译所有包中的所有可执行文件:
catkin_make
因为被设计成编译你的工作区中的所有包,这个命令必须从你的工作区目录运行。

4.Sourcing setup.bash
最后的步骤是执行名为 setup.bash 的脚本
文件,它是 catkin_make 在你工作区的 devel 子目录下生成的。
source devel/setup.bash
这个自动生成的脚本文件设置了若干环境变量,从而使 ROS 能够
找到你创建的功能包和新生成的可执行文件

注意:
修改include_directories为:即包括拷贝的头文件所在的include目录

include_directories(                                     
  ${catkin_INCLUDE_DIRS}
  include
   )

猜你喜欢

转载自blog.csdn.net/qq_25241325/article/details/80708863