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

kuhbmx9i  于 2022-12-15  发布在  iOS
关注(0)|答案(5)|浏览(421)

我是C++和Visual Studio代码的新手,所以我不知道如何解决这个问题。我试着在 * Using Clang in Visual Studio Code * 中浏览教程,但我似乎无法粘贴他们的“Hello, World!“代码而不出现 iostreamvectorstring 错误。
我还看到一些帖子建议我修改配置中的 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错误。请更新您的includePath。已禁用此翻译单元的波形字符(/Users/rjc/projects/helloworld/helloworld.cpp)。C/C++(1696)
我在includePath中添加了这一行(配置页面声明每行添加一个includePath,因此我将这两条语句放在单独的行中):
一米一米一x一米二米一x
然而这并没有减少错误的数量,我真的不知道在这里该做什么,因为教程似乎对我不起作用。
我正在运行macOS 11.1(Big Sur)和Clang版本12.0.0。为什么会出现这些问题?

p1iqtdky

p1iqtdky1#

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

k97glaaz

k97glaaz2#

您只需在c_cpp_properties.json文件中更改3次。
1.“名称”:“Mac”
1.将“usr/include/linux”添加到“包含路径”中
1.“智能感知模式”:“叮当-x64”
此解决方案仅适用于Linux用户。

kpbwa7wx

kpbwa7wx3#

确保compilerPath设置中的编译器存在并且支持C++。
我看到这些stdlib包含错误的(CentOS)系统上安装了GCC没有C++支持。安装丢失的软件包修复了Visual Studio代码中的错误。未能从终端编译hello.cpp表明我的根本问题不在Visual Studio代码中。

ssm49v7z

ssm49v7z4#

在Ubuntu上我安装了不同的gcc/g版本。
检查您的c
版本

c++ -v

检查目录/usr/include/c++,如果缺少相应的版本(10/或11/或12/),请安装sudo apt install libstdc++-XX。我必须安装libstdc++-12

sudo apt install libstdc++-12
drkbr07n

drkbr07n5#

我也有同样的问题,我想尽一切办法让它工作。
然后我意识到,当我命名文件时,我只将其命名为 helloworld,而不是后面的 * helloworld.cpp *,因为在我使用的其他IDE中不需要这样做。

相关问题