相关文章推荐
强悍的海龟  ·  jsx/tsx使用cssModule和typ ...·  2 周前    · 
坏坏的茴香  ·  nginx ...·  1 月前    · 
慷慨大方的蜡烛  ·  探索 Java Stream ...·  1 年前    · 
坚强的烤地瓜  ·  java - How to set ...·  1 年前    · 

运行环境为windows10,远程ssh连接ubuntu16

1.在task.json里面args中, 修改为 "${fileDirname}/*" ,表示编译当前文件目录下的所有文件

在这里插入图片描述
一般加上这行,就能编译成功

虽然编译通过,但是依然会提示 未定义标识符,出现红线的问题。

2.加入IncludePath

ctrl+shift+P 选择Edit Configurations(UI)
在这里插入图片描述
在这里插入图片描述
大部分情况下,加上这部分,问题就解决了。

然而我…发现,当前目录也包含了,还是出现了报错未定义标识符

3.升级gcc

gcc -v

查看当前gcc版本,我的是5.4.0

然后升级以下gcc到7.5.0
gcc-7.5.0.tar.gz下载地址
http://mirrors.nju.edu.cn/gnu/gcc/gcc-7.5.0/
Ubuntu下升级安装gcc-7.5.0教程
安装完成后,记得用gcc 7.5.0编译

到此为止,问题基本都能解决,由于不同版本的vscode可能存在bug或者延迟,红线可能要过一会才会消失。

全部解决完后,依旧会出现红色的线,找到未定义标识符的类或函数的所在文件,打开,过一会,红线就消失了,,,,应该是bug,

我用的是最新的版的vscode,不过用可以换个版本试试,

vscode 编译多个当前目录下cpp文件,报错未定义标识符的问题1.在task.json里面args中, 修改为`"${fileDirname}/*"`,表示编译当前文件目录下的所有文件2.加入IncludePath3.升级gcc4.坑点1.在task.json里面args中, 修改为"${fileDirname}/*",表示编译当前文件目录下的所有文件一般加上这行,就能编译成功虽然编译通过,但是依然会提示 未定义标识符,出现红线的问题。2.加入IncludePathctrl+shift+P
问题描述:VS Code中出现“未定义标识符”,可以右键“转到声明”,但会一直出现红色提醒。 问题原因:VS Code intellisense不能自动找到需要的头文件路径,需要在用户设置中强制intellisense使用Tag Parser,递归方式检索头文件。 解决方式:找到工程对应的settings.json,并复制以下两个语句,在其中配置使用Tag Parser方式。 "C_Cpp.intelliSenseEngineFallback": "Disabled", //需要添加的 这里,我们使用`file(GLOB SOURCES "*.cpp")`命令来获取当前目录下所有cpp文件的列表,并将其存储在名为`SOURCES`的变量中。接下来,我们使用`add_executable`命令来创建可执行文件,并将所有cpp文件作为源文件添加到该可执行文件中。 请注意,使用`file(GLOB ...)`命令存在一些潜在的问题,因为它只会在CMake生成构建系统时执行一次。如果您随后添加或删除cpp文件,则必须手动重新运行CMake以更新文件列表。如果您的项目足够小,那么手动列出每个源文件可能会更好。