编译第一个ROS程序 - Hello ROS
ROS版本: Kinetic
1.安装ROS,详情见 https://www.linuxidc.com/Linux/2019-03/157199.htm
2.建立一个catkin_ws文件夹,以及子目录src:
$ mkdir catkin_ws
$ cd ./catkin_ws
$ mkdir src
3.在src目录下创建功能包,命名为first
$ catkin_create_pkg first
此时会产生first文件夹,其中包含两个文件,CMakelists.txt和package.xml
4.在first文件夹下,新建hello.cpp文件
$ sudo gedit hello.cpp
编写代码:
#include <ros/ros.h>
int main(int argc,char ** argv)
{
ros::init(argc,argv,"hello_ros");
ros::NodeHandle nh;
ROS_INFO_STREAM("Hello ROS");
}
init函数初始化客户端库。NodeHandle节点句柄,用于程序与ROS的交互。
5.编译cpp代码,此时需要对同目录下的CMakelists.txt和package.xml文件进行修改
在CMakelist.txt文件中添加
add_executable(hello hello.cpp)
target_link_libraries(hello ${catkin_LLIBRARIES})
并且将
find_package(catkin REQUIRED)
改为:
find_package(catkin REQUIRED COMPONENTS roscpp)
这句是为了添加roscpp依赖项
修改package.xml文件,添加build_depend编译依赖和run_depend运行依赖
<build_depend>roscpp</build_depend>
<run_depend>roscpp<run_depend>
然后,在catkin_ws目录下执行:
$ catkin_make
$ cd ./devel
$ source setup.bash
6. 运行程序
$ rosrun first hello
出现结果:
- 编译第一个ROS程序--Hello ROS
- Cocos2d-x--编译第一个Android程序HelloCocos2dx
- Android NDK编程,我的第一个hello-jni程序,如何调用自己编译的so库
- Linux下使用GCC编译并运行第一个helloworldC++程序
- SLAM+语音机器人DIY系列:(二)ROS入门——4.如何编写ROS的第一个程序hello_world
- [LUA学习笔记01]用VS2003(C++)编译Hello Lua程序
- 第一个tornado程序,经典的hello.py
- 如何编译第一个uefi程序【转载】
- Linux下G++编译第一个C++程序(Hello, world)
- (JAVA SE 学习笔记)Java.SE.第001讲.Java.SE入门、JDK的下载与安装、第一个Java程序、Java程序的编译与执行
- objective-c : windows下搭建环境并编译自己的第一个objective-c程序
- OC---第一个OC程序(使用GNUstep的shell编译执行)
- TextHello - 在 Console Application 下创建第一个C#程序
- 第一个python CGI程序——hello,world
- JavaSE第一讲:JavaSE入门、JDK的下载与安装、第一个Java程序、Java程序的编译与执行
- [.NET MVC4 入门系列01]Helloworld MVC 4 第一个MVC4程序
- JavaSE第一讲:JavaSE入门、JDK的下载与安装、第一个Java程序、Java程序的编译与执行
- JavaSE第一讲:JavaSE入门、JDK的下载与安装、第一个Java程序、Java程序的编译与执行
- 菜鸟的android开发笔记 之 第二弹 第一个程序HelloAndroid
- Study Android, Step by Step(五) 第一个程序 -- Hello, Android !