今天自己敲代码脑子一糊涂遇到了几个低级错误,下面进行总结一下:
一.未预期的符号")"附近有语法错误
首先就是这个问题,出现了未预期的符号")"附近有语法错误,看了很久符号也基本改了一遍还是报错。这个就是rosrun的用法错了,应该为rosrun+功能包名+节点名,而上述问题直接想运行.cpp的源码部分。另外如果这样改还不行的话可以检查一下源码文件以及CMakeList部分是否为可执行文件:
二.fatal error: ros.h: 没有那个文件或目录
如果是在vscode中找不到ros.h这个文件可以进入c_cpp_properties.json文件中将"cppStandard": "c++14"修改为c++17即可。
如果编译的时候报错检查一下CMakeList中有没有下面两项:
下面那一项文件中也有,只是前边有#号键屏蔽了。
我遇到的就比较蠢了,直接是头文件漏了前边ros/一部分,应该为#include “ros/ros.h”。
三.launch文件报错Invalid roslaunch XML syntax: mismatched tag: line 8, column 2
出现上述问题去检查一下launch文件的格式,或者是相关路径是否正确,下面代码段就是没有修改之前的代码:
<launch>
<node pkg="turtlesim" type="turtlesim_node" name="my_turtle" output="screen">
<remap from="/turtle1/cmd_vel" to="/cmd_vel" />
<node/>
<node pkg="turtlesim" type="turtle_teleop_key" name="my_key" output="screen"/>
</launch>
报错后发现</node>中的/写错了位置。