我只是想用Visual Studio代码尝试c ++编码。我已将vscode 1.18.1安装到我的笔记本电脑(Win10-64)。
键入以下代码我收到错误:
#include <iostream>
using namespace std;
int main()
{
std::cout << "Hello world!" <<endl;
return 0;
}
应该没有错误发生。 C:\ Users \ Harri \ OneDrive \ Tiedostot \ Demo2.vscode \ c_cpp_properties.json -content:
“路径”:[ “在/ usr /包括”, “在/ usr /本地/包括” “$ {} workspaceRoot” ]
第1行的问题/错误:
“检测到#include错误。请更新您的includePath。标记解析器将提供此翻译单元的智能感知功能(C:\ Users \ Harri \ OneDrive \ Tiedostot \ Demo2 \ Calc.cpp)。”
“无法打开源文件”iostream“”
答案 0 :(得分:0)
您的/usr/include
文件中有诸如c_cpp_properties.json
之类的cygwin路径。这是一个问题,因为VSCode无法理解cygwin路径。在Cygwin Shell上,您可以运行:
$ cygpath -w /usr/include
D:\cygwin64\usr\include
获取等效的Windows路径。将其放入c_cpp_properties.json
中。请记住,将其复制到JSON字符串时,必须将反斜杠加倍。
This SO answer介绍了如何使用cygwin gcc设置VSCode。我没有尝试过这些说明,但是看起来很合理。
除此之外,我强烈建议您阅读VSCode网站上的Get Started with C++教程。它可能会直接回答您的问题,但是即使没有,也可以进行比较以进行设置很有价值。
此外,还要查看C / C ++诊断:视图→命令面板...→C / C ++:日志诊断。这将显示诸如VSCode试图模拟哪个编译器以及它认为#include路径是什么的事情。
最后,要直接从编译器获取很多有用的信息,以与VSCode认为的进行比较,如果使用的是gcc,请在cygwin或bash提示符下运行:
$ touch empty.c
$ gcc -v -E -dD empty.c > compiler-info.txt
这会将所有预定义的宏,#include搜索路径,默认目标等写入compiler-info.txt
。