运行系统是Ubuntu,用VSCode 在ros功能包下,需要配置CMakelist。
- 1. 在linux上下载VSCode。
- 2. 创建工作空间。打开终端
Ctrl + Alt + T, 输入mkdir -p xxxws/src cd xxxws catkin_make code . - 3. 快捷键
Ctrl + Shift + B调用编译。点击catkin_make:build右侧的齿轮,修改xxxws/vscode/tasks.json 文件, 删除原文件内容,将以下内容复制进原文件。For more details, please see VSCode配置教程{ // 有关 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" } ] } - 4. 在工作空间创立功能包。在VSCcode左侧栏
xxxws目录下右键src,选择Creat Catkin Package,先输入功能包名称,此处为Practice,然后回车,再输入依赖,此处为roscpp rospy std_msgs。 - 在功能包目录
Practice/src下中粘贴本项目.cpp文件。 - 5. 修改CMakeist.txt。注意此文件目录是`xxxws/src/Practice/CMakelist.txt。以P45_smart_pointer.cpp 为例。在CMakelist.txt添加
在add_executable中,
add_executable(P45 src/P45_smart_pointer.cpp) target_link_libraries(P45 ${catkin_LIBRARIES} )P45是 CMake 目标名称,src/P45_smart_pointer.cpp是.cpp文件在功能包目录的名称。在target_link_libraries中,P45是 CMake 目标名称,名称要与add_executable一致。如果有多个可执行文件.cpp,则如下add_executable(P45 src/P45_smart_pointer.cpp) add_executable(P47 src/P47_dynamic_array.cpp) add_executable(P48 src/P48_stdvec_optimize.cpp) ... target_link_libraries(P45 ${catkin_LIBRARIES} ) target_link_libraries(P47 ${catkin_LIBRARIES} ) target_link_libraries(P48 ${catkin_LIBRARIES} ) ... Ctrl + Shift + B编译文件。- 6. 运行可执行文件。
Ctrl + ~调用VSCode终端,目录应该在xxxws下,输入source ./devel/setup.bash,回车。输入rosrun practice P45即可运行。