ubantu下vscode编译代码时:未定义标识符 "ROS_INFO"

问题遇到的现象和发生背景

在b站学习赵虚左的ros课程-ros集成环境搭建-安装vscode-vscode中编译ros出现问题

img

用代码块功能插入代码,请勿粘贴截图
int main(int argc,char*argv[])
{
    ros::init(argc,argv,"hello");
    ROS_INFO("hello");
    return 0;
}

运行结果及报错内容

img

我的解答思路和尝试过的方法

img

img

我想要达到的结果

有人可以帮忙解决一下吗?谢谢!

不是gcc的是,是ros.h的路径放哪里了,编译器找不到这个文件

问题已解决:
请教一个同学以后,发现了其中问题
错误代码:

#include "ros /ros.h"

int main(int argc, char *argv[])
{
    ros::init(argc,argv,"hello_c");

    ROS_INFO("hello");

    return 0;
}

正确代码

#include "ros/ros.h"

int main(int argc, char *argv[])
{
    ros::init(argc,argv,"hello_c");

    ROS_INFO("hello");

    return 0;
}

乍一看貌似没有区别,但是#include "ros/ros.h"引号内部不能有空格
如果与遇到类似情况,可以先检查代码。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

未定义标识符ros_info