網站首頁 編程語言 正文
ubuntu20.04 vscode使用ROS(C++)
1.在vscode安裝擴展
ROS的安裝較為麻煩,需要的@我,我單獨出一份教程
在vscode的左邊中的拓展(快捷鍵Ctrl+Shift+X)中搜索并添加以下拓展
· C/C++
· CMake
· ROS
2. 創建工作文件夾
2.1 快捷鍵打開終端 ctrl+alt+t
2.2 新建文件夾 mkdir -p test_ros/src
2.3 進入新建的文件夾 cd test_ros
2.4 編譯catkin_make
如果有多個版本 python, 輸入:
catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3
2.5 輸入code
打開vscode,點擊文件
-打開文件夾
,選擇剛剛新建的test_ros文件夾
3.新建ros工程
3.1 右鍵點擊src文件夾,選擇Create Catkin Package
3.2 Package name
是自定義的,在運行時用到,這里命名為ros_test
3.3 Dependecies
中輸入std_msgs rospy roscpp
以上兩步等同于在命令行中輸入
catkin_create_pkg ros_test std_msgs rospy roscpp
4.修改配置文件
4.1 c_cpp_properties.json
快捷鍵Ctrl+Shift+p
, 找到C/C++: 編輯配置 或者 C/C++: Edit configurations(JSON)
修改如下
// 指定C/C++類庫和包含路徑以及配置 { "configurations": [ { "browse": { "databaseFilename": "${default}", "limitSymbolsToIncludedHeaders": false }, "includePath": [ "/opt/ros/noetic/include/**", //注意要跟所安裝的ROS路徑一致 "/usr/include/**" ], "name": "ROS", "intelliSenseMode": "gcc-x64", "compilerPath": "/usr/bin/gcc", "cStandard": "gnu11", "cppStandard": "c++14", "compileCommands": "${workspaceFolder}/build/compile_commands.json" } ], "version": 4 }
4.2 tasks.json
快捷鍵Ctrl+Shift+p
, 找到任務:配置任務 或者 Tasks: Configure task,選哪項都可以,因為要修改
// 指定catkin_make編譯參數 { "tasks": [ { "label": "catkin_make: build", "type": "shell", "command": "catkin_make", "args": [ "--directory", "/home/jawenos/project/test_ros",// 注意文件路徑 "-DCMAKE_BUILD_TYPE=Debug" // 注意這里是debug ], "group": { "kind": "build", "isDefault": true }, "problemMatcher":"$catkin-gcc" } ], "version": "2.0.0" }
4.3 launch.json
在vscode的左邊欄中運行與調試
(快捷鍵Ctrl+Shift+D)創建launch.json,
修改如下:
{ // 使用 IntelliSense 了解相關屬性。 // 懸停以查看現有屬性的描述。 // 欲了解更多信息,請訪問: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "ros_test", "type": "cppdbg", "request": "launch", //表示可執行文件所在路徑。workspaceFolder表示vscode所加載文件根目錄 "program": "${workspaceFolder}/devel/lib/ros_test/ros_test", "args": [], "environment": [], "externalConsole": false, "MIMode": "gdb", "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": false } ], "stopAtEntry": false, "cwd": "${workspaceFolder}", } ] }
5.cpp文件
5.1 首先在ros_test
文件夾中的src文件夾中新建一個C++文件 ros_test.cpp
,在其中寫入
#include<iostream> #include"ros/ros.h" using namespace std; int main(int argc, char** argv){ ROS_INFO("hello"); return 0; }
5.2 修改ros_test中的CMakeList文件
cmake_minimum_required(VERSION 3.0.2) project(ros_test) find_package(catkin REQUIRED COMPONENTS roscpp rospy std_msgs ) catkin_package( CATKIN_DEPENDS roscpp rospy std_msgs ) include_directories( # include ${catkin_INCLUDE_DIRS} ) add_executable(ros_test src/ros_test.cpp) target_link_libraries(ros_test ${catkin_LIBRARIES} )
5.3 點擊vscode上方終端
,新建終端,catkin_make
重新編譯一次文件,再輸入roscore
啟動ROS,最后到ros_test.cpp中F5
開始調試即可
原文鏈接:https://blog.csdn.net/qq_41565578/article/details/127180188
相關推薦
- 2023-03-29 C語言交換奇偶位與offsetof宏的實現方法_C 語言
- 2023-07-04 JUC 之CountDownLatch工具類
- 2022-03-31 python多線程方法詳解_python
- 2022-10-02 Android?NTP?時間同步機制詳解_Android
- 2023-01-29 Python操作lxml庫實戰之Xpath篇_python
- 2022-12-06 詳解Python的整數是如何實現的_python
- 2022-11-07 MongoDB?C?驅動程序安裝(libmongoc)?和?BSON?庫(libbson)方法_C
- 2022-11-16 詳解Python中range()與xrange()的區別_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支