簡體   English   中英

Visual Studio Code 無法打開源文件“iostream”

[英]Visual Studio Code cannot open source file "iostream"

我是 C++ 和 Visual Studio Code 的新手,所以我不確定如何解決這個問題。 我已經通過在 Visual Studio Code 中使用 Clang 中的教程嘗試了 go,但我似乎無法在沒有iostreamvectorstring錯誤的情況下粘貼他們的“ 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 檢測到錯誤。 請更新您的 includePath。 此翻譯單元禁用波浪線 (/Users/rjc/projects/helloworld/helloworld.cpp).C/C++(1696)

我在我的 includePath 中添加了這一行(配置頁面聲明每行添加一個 includePath,所以我將這兩個語句放在不同的行中):

${workspaceFolder}/** /Users/rjc/projects/helloworld/

然而,這並沒有減少錯誤的數量。 我不太確定在這里做什么,因為教程似乎對我不起作用。

我正在運行帶有 Clang 版本 12.0.0 的macOS 11.1 (Big Sur)。 為什么我會有這些問題?

您的 includePath 只有${workspaceFolder} 您需要將路徑添加到系統目錄。 運行此命令並確保打印出的所有路徑都列在您的c_cpp_properties.json文件中: gcc -v -E -x c++ -

確保compilerPath設置中的編譯器存在並且它支持 C++。

我看到這些標准庫在( CentOS 系統上包含錯誤,該系統安裝了GCC而沒有 C++ 支持。 安裝缺少的打包修復了 Visual Studio Code 中的錯誤。 無法從終端編譯 hello.cpp 表明我的根本問題不在 Visual Studio Code 中。

您只需在c_cpp_properties.json文件中更改 3 次。

  1. “名稱”:“Mac”

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

  3. “intelliSenseMode”:“clang-x64”

此解決方案僅適用於 Linux 用戶。

在 Ubuntu 上,我安裝了不同的 gcc/g++ 版本。

檢查你的 c++ 版本

c++ -v

檢查目錄/usr/include/c++ ,如果它缺少相應的版本(10/ 或 11/ 或 12/),請安裝它sudo apt install libstdc++-XX 我必須安裝libstdc++-12

sudo apt install libstdc++-12

我有同樣的問題,我正在嘗試任何事情來讓它工作。

然后我意識到,當我命名文件時,我只將其命名為helloworld而不是helloworld.cpp ,因為在我一直使用的其他 IDE 中不需要它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM