vscode 无法打开源文件 "iostream"

vscode cannot open source file "iostream"

我是 c++ 和 vscode 的新手,所以我不确定如何解决这个问题。我试图通过 https://code.visualstudio.com/docs/cpp/config-clang-mac 上的教程,但我似乎无法在没有 iostream、矢量和字符串错误的情况下粘贴他们的“hello world”代码。我还看到这里的帖子指出我应该更改配置中的 includePath 字符串数组,但是将路径添加到我的项目文件夹似乎并没有消除这些错误。我在这里不知所措,因为到目前为止我所看到的一切仍然无法正常工作。

导致这些错误的代码已直接从上面的教程中复制粘贴:

#include <iostream>
#include <vector>
#include <string>

using namespace std;

int main()
{
    vector<string> msg {"Hello", "C++", "World", "from", "VS Code", "and the C++ extension!"};
    
    for (const string& word : msg)
    {
        cout << word << " ";
    }
    cout << endl;
}

在前三行中,我遇到了错误 "cannot open source file {the included import's name}"。编译器声明 #include errors detected. Please update your includePath. Squiggles are disabled for this translation unit (/Users/rjc/projects/helloworld/helloworld.cpp).C/C++(1696)

我在我的 includePath 中添加了这一行(配置页面声明每行添加一个 includePath,所以我将这两个语句放在不同的行中): ${workspaceFolder}/** /Users/rjc/projects/helloworld/

但这并没有减少错误的数量。我不太确定在这里做什么,因为教程似乎对我不起作用。

我是 运行 macOS Big Sur (11.1),clang 版本为 12.0.0。对于我为什么会遇到这些问题的任何直觉,我将不胜感激。

您的 includePath 只有 ${workspaceFolder}。您需要将路径添加到您的系统目录。 运行 此命令并确保打印出的所有路径都在您的 c_cpp_properties.json 中列出:gcc -v -E -x c++ -

确保 compilerPath 设置中的编译器存在并且支持 C++。

我看到这些 stdlib 包含在 (centos) 系统上的错误,该系统安装了 gcc 而没有 C++ cpp 支持。安装丢失的软件包修复了 vscode 中的错误。未能从终端编译 hello.cpp 表明我的根本问题不在 vscode.

我遇到了同样的问题,我正在尽一切努力让它工作

然后我意识到,当我命名文件时,我只将它命名为 helloworld 而不是 helloworld.cpp behind 因为我一直在使用的其他 IDE 不需要它。

只需要在c_cpp_properties.json文件中修改3次即可。

  1. "姓名": "Mac"

  2. 将“usr/include/linux”添加到“includePath”

  3. "intelliSenseMode": "clang-x64"

此解决方案仅适用于 Linux 用户。