创建一个文件夹
使用catkin_make编译工作空间的根目录
使用VScode打开
VScode 中编译 ros
快捷键 ctrl + shift + B 调用编译,选择:catkin_make:build
可以点击配置(右边的小齿轮),修改.vscode/tasks.json 文件
{
// 有关 tasks.json 格式的文档,请参见
// https://go.microsoft.com/fwlink/?LinkId=733558
"version": "2.0.0",
"tasks": [
{
"label": "catkin_make:debug", //代表提示的描述性信息
"type": "shell", //可以选择shell或者process,如果是shell代码是在shell里面运行一个命令,如果是process代表作为一个进程来运行
"command": "catkin_make",//这个是我们需要运行的命令
"args": [],//如果需要在命令后面加一些后缀,可以写在这里,比如-DCATKIN_WHITELIST_PACKAGES=“pac1;pac2”
"group": {"kind":"build","isDefault":true},
"presentation": {
"reveal": "always"//可选always或者silence,代表是否输出信息
},
"problemMatcher": "$msCompile"
}
]
}
创建 ROS 功能包
选定 src 右击 —> create catkin package
设置包名
自己定名(如vscode_ros)
添加依赖
roscpp rospy std_msgs
随后会自动打开一个package.xml文件。
可见在工作空间src中生成了一个功能包vscode_ros
添加C++文件
在功能包的src目录下构建一个c++文件
随后即可使用Ctrl+Shift+B进行编辑。
PS1: 如果没有代码提示
修改 .vscode/c_cpp_properties.json
设置 “cppStandard”: “c++17”
PS2: main 函数的参数不可以被 const 修饰
PS3: 当ROS__INFO 终端输出有中文时,会出现乱码
INFO: ???
解决办法:在函数开头加入下面代码的任意一句
setlocale(LC_CTYPE, “zh_CN.utf8”);
setlocale(LC_ALL, “”);
修改CMAKE文件
修改功能包中的CMAKE文件。
按Ctrl+Shift执行一下。