第一个C++程序
C++的HelloWorld编写流程¶
1. 在src
下新建hello.cpp
文件¶
1 2 3 |
|
Tip
编写好基本的main函数就行。
此时clion工具上方会提示:The file dose not belong to any project target,code insight features might not work properly.
这个警告告诉我们此文件不属于任何项目,意思就是我们没有将这个文件管理起来。
2. 配置CMakeLists.txt¶
我们要管理cpp文件,将cpp文件作为启动项,需要将cpp文件注册到CMakeLists.txt中,以hello.cpp
为例,打开CMakeLists.txt
,在其中添加以下代码:
1 2 3 4 |
|
Tip
add_executable
中的前一个hello
是为src/hello.cpp
取的一个节点名称,需要和target_link_libraries
中的第一hello
一致。名称需要一致,可以随意取。
添加完成后,在clion上可以打开Enable Auto-reload
,这样CMakeLists.txt
就可以重新编译了,之前hello.cpp
中的警告就会消失。
3. 编写HelloWorld的代码¶
Note
ros::init
可以帮助我们初始化ros环境。最后一个参数为初始化后的Node节点名称。
ros::NodeHandle
为当前进程的Node节点实例。
调试运行代码¶
1. 项目编译¶
启动命令行,来到工作空间目录下,编译项目
1 2 |
|
Tip
编译的过程,会将新建的package进行编译,将其中定义的hello.cpp
编译成可执行的node
2. 启动ROS Master¶
打开新的命令行,启动ROS master
1 |
|
Tip
ROS节点启动前,必须启动ros master
3. 运行节点¶
启动编译好的node节点,有**两种方式**可以运行。
通过clion工具直接运行¶
通过命令行运行¶
1. 打开新的命令行,来到工作空间目录下,source一下开发环境¶
Tip
做这一步的操作是为了让rosrun 命令找到刚刚编译好的node
2. 通过命令运行编译好的node¶
1 |
|
Tip
rosrun
命令后跟第一个参数是package的名称,第二个参数是节点名称