Visual Studio代码-无法打开源文件“ iostream”

Mr7*_*r72 5 visual-c++ visual-studio-code

我只想尝试使用Visual Studio代码进行C ++编码。我已经在笔记本电脑(Win10-64)上安装了vscode 1.18.1。

通过输入以下代码,我得到了错误:

#include <iostream>
using namespace std;
int main()
{
    std::cout << "Hello world!" <<endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

应该不会发生任何错误。C:\ Users \ Harri \ OneDrive \ Tiedostot \ Demo2.vscode \ c_cpp_properties.json-内容:

“路径”:[“ / usr / include”,“ / usr / local / include”,“ $ {workspaceRoot}”],

第1行的问题/错误:

“已检测到#include错误。请更新您的includePath。此变量转换单元(C:\ Users \ Harri \ OneDrive \ Tiedostot \ Demo2 \ Calc.cpp)的IntelliSense功能将由Tag Parser提供。”

“无法打开源文件” iostream“”

Sco*_*eak 0

主要问题是cygwin路径

\n\n

/usr/include您的文件中有 cygwin 路径c_cpp_properties.json。这是一个问题,因为 VSCode 不理解 cygwin 路径。在 cygwin shell 中,您可以运行:

\n\n
  $ cygpath -w /usr/include\n  D:\\cygwin64\\usr\\include\n
Run Code Online (Sandbox Code Playgroud)\n\n

获取等效的 Windows 路径。把它放进去c_cpp_properties.json。请记住,将其复制到 JSON 字符串时必须使用双反斜杠。

\n\n

其他建议

\n\n

这个 SO 答案描述了如何使用 cygwin gcc 设置 VSCode。我还没有尝试过这些说明,但它们看起来很合理。

\n\n

除此之外,我强烈建议您阅读VSCode 网站上的C++ 入门教程。它可能会直接回答您的问题,但即使没有,拥有一个可运行的设置进行比较也是有价值的。

\n\n

另外,查看 C/C++ 诊断:查看 \xe2\x86\x92 命令面板... \xe2\x86\x92 C/C++:日志诊断。这将显示 VSCode 正在尝试模拟哪个编译器以及它认为 #include 路径是什么等信息。

\n\n

最后,要直接从编译器获取大量有用信息,以便与 VSCode 的想法进行比较,如果您使用 gcc,请在 cygwin 或 bash 提示符下运行:

\n\n
  $ touch empty.c\n  $ gcc -v -E -dD empty.c > compiler-info.txt\n
Run Code Online (Sandbox Code Playgroud)\n\n

这将写入compiler-info.txt所有预定义的宏、#include 搜索路径、默认目标等。

\n