安装ROS
安装vsc并且安装插件:chinese、c++、ROS、Txt Syntax、Msg Language Support、
创建项目文件夹
终端运行code .
在文件资源管理器标题栏中,选择“ 新建文件”按钮并命名该文件helloworld.cpp。
#include
using namespace std;
int main()
{
{
cout << "春秋深夜" << endl;
}
cout << endl;
}
选中“ 文件 ”主菜单中的“ 自动保存”,启用“ 自动保存”以自动保存文件更改。
从主菜单中,选择Terminal > Configure Default Build Task。在下拉列表中,将显示任务下拉列表,其中列出了C ++编译器的各种预定义构建任务。选择g ++ build active file,它将构建当前在编辑器中显示(活动)的文件。
要运行中定义的构建任务tasks.json,按Ctrl + Shift + B或从终端主菜单中选择“ 任务:运行构建任务”。
任务开始时,“集成终端”面板出现在源代码编辑器下方。任务完成后,终端将显示编译器的输出,指示构建成功还是失败。对于成功的g ++构建,输出看起来像这样:
使用+按钮创建一个新终端,运行ls,看到可执行文件helloworld
终端中输入来运行./helloworld
构建多文件 可以要编写 makefile文件 然后引用脚本编译
https://blog.csdn.net/qq_34347375/article/details/81137962
https://blog.51cto.com/11672416/1981689
修改task.json
您可以tasks.json使用"*.cpp"代替的参数来修改以构建多个C ++文件 f i l e 。 您 也 可 以 通 过 替 换 " {file}。 您也可以通过替换" file。您也可以通过替换"{fileDirname}/${fileBasenameNoExtension}"为硬编码的文件名(例如“ helloworld.out”)来修改输出文件名。
(compiler path and IntelliSense settings)
Ctrl+Shift+P
C/C++: Edit Configurations (UI)
ctrl + ` 打开终端 编译工做空间
在终端创建功能包
在src目录下面创建两个文件分别是talker.cpp、listener.cpp
#include
#include "ros/ros.h"
#include "std_msgs/String.h"
int main(int argc, char **argv)
{
//ros节点初始化 "talker"节点名称,在ROS里同一时间不允许出现两个
ros::init(argc,argv,"talker");
//创建节点句柄
ros::NodeHandle h;
//创建一个publisher, topic:chatter,消息类型std_msgs::String
ros::Publisher chatter_pub = h.advertise<std_msgs::String>("chatter",1000); // "chatter"话题名称,消息缓存
//设置单循环的频率
ros::Rate looprate(10);
while (ros::ok())
{
std_msgs::String msg;
std::stringstream ss;
ss<<"hello world";
msg.data = ss.str();
//发布消息
ROS_INFO("%s",msg.data.c_str());
chatter_pub.publish(msg);
//等待回调函数
ros::spinOnce();
//按照之前设定的进行循环
looprate.sleep();
}
}
#include
#include "ros/ros.h"
#include "std_msgs/String.h"
void chatterCallBack(const std_msgs::String::ConstPtr &msg)
{
ROS_INFO("I get: [%s}",msg->data.c_str());
}
int main(int argc, char **argv)
{
//ros节点初始化 "listener"节点名称,在ROS里同一时间不允许出现两个
ros::init(argc,argv,"listener");
//创建节点句柄
ros::NodeHandle h;
//创建一个subscriber, topic:chatter,消息类型std_msgs::String, 接收到消息,响应chatterCallBack
ros::Subscriber listener_sub = h.subscribe<std_msgs::String>("chatter",1000,chatterCallBack);
//循环等待回调函数
ros::spin();
return 0;
}
在ros_test目录下,双击"CMakeLists.txt",在文件末尾添加:
add_executable(talker src/talker.cpp) #可执行文件
target_link_libraries(talker ${catkin_LIBRARIES})#链接库
add_dependencies(talker ${PROJECT_NAME}_generate_messages_cpp) #设置依赖
add_executable(listener src/listener.cpp)
target_link_libraries(listener ${catkin_LIBRARIES})
add_dependencies(listener ${PROJECT_NAME}_generate_messages_cpp)
终端编译
终端,输入roscore,启用整个ROS总节点。
终端,输入rosrun ros_test talker,启用talker节点。
终端,输入rosrun ros_test listener,启用listener节点。
main menu, choose Debug > Add Configuration…
C++ (GDB/LLDB).
g++ build and debug active file.
Terminal > Configure Default Build Task.
g++ build active file
press Ctrl+Shift+B or from the Terminal main menu choose Tasks: Run Build Task.
https://code.visualstudio.com/docs/cpp/config-wsl
https://blog.csdn.net/msnh2012/category_9320482.html