VS Code 中解决 C++ 代码编写时的爆红

VS Code 中解决 C++ 代码编写时的爆红

现象

在 VS Code 中编写 C++ 代码时,发现正常的 C++ 11 特性竟然标红,但是可以正常运行。这说明语法没有错,这是由于VS Code 根据编译参数,无法检测 C++11 相关语法,因此出现报红和 warning 等现象。
VS Code 中解决 C++ 代码编写时的爆红_第1张图片

解决办法

VS Code 中解决 C++ 代码编写时的爆红_第2张图片
VS Code 中解决 C++ 代码编写时的爆红_第3张图片
然后在 setting.json中添加:

"C_Cpp.default.compilerArgs": [
        "-g",
		"${file}",
        "-std=c++11",
		"-o",
		"${fileDirname}/${fileBasenameNoExtension}"
    ]

效果如图:
VS Code 中解决 C++ 代码编写时的爆红_第4张图片
添加完保存,发现已经不报错了。
VS Code 中解决 C++ 代码编写时的爆红_第5张图片
在后续使用 ceres 和 g2o 库时,发现要用 c++14标准,这时出现了跟上面一样的问题,可以编译成功,但是 VS Code 中爆红说找不到命名空间下的成员变量等各种语法问题,
VS Code 中解决 C++ 代码编写时的爆红_第6张图片
照猫画虎,将c++14也添加到 setting.json中:
VS Code 中解决 C++ 代码编写时的爆红_第7张图片
然后运行,就不爆红了。
VS Code 中解决 C++ 代码编写时的爆红_第8张图片

你可能感兴趣的:(VScode配置相关,vscode,ide,linux,c++)