【问题标题】:VS Code unable to detect Standard C++ LibrariesVS Code 无法检测标准 C++ 库
【发布时间】:2017-08-10 19:11:20
【问题描述】:

我开始使用 VS Code,在弄乱它之后,我设法让它使用 c_cpp_properties.json 检测 Windows 和 Direct3D SDK,但我无法让标准库工作。所以,如果我这样做:

#include <string>
#include <vector>

它会像这样向我抛出一个错误:

//Include file not found in include path

我搜索了整个网络,没有找到任何线索,所以我在这里!奇怪的是,如果我只是在 empty 窗口/编辑器中创建一个新的 .cpp 文件,它就可以工作。但是,当我 'load' 该文件所在的文件夹时,它就会失败。所以,这真的让我发疯了。

我正在使用带有 .NET 4.6.2、2015 Visual C++ Redist 和 Windows 10 SDK 的 Windows 10,所有这些都是从今天开始的全新安装。我的最终目标是将我在 VS2013 中制作的一个项目移植到 GNU/Linux 上,所以我正在努力让事情一步一步地工作。

非常感谢!

编辑: 使用 g++ 编译可以正常工作,即使 VS Code 会抱怨。 This is what happens.

【问题讨论】:

  • 你用的是什么编译器?
  • 我还没有尝试编译,但是我安装了mingw的g++。我仍在努力让事情在编译之前不会抱怨任何事情。
  • 可以从命令行编译吗?
  • 我用 做了一小段代码,并用 g++ 编译。但是 VS Code 一直告诉我他找不到它们,这真的很痛苦。

标签: c++ visual-studio-code standard-library c++-standard-library


【解决方案1】:

VS Code 需要找到包含库。

  1. 首先定位g++所在的位置。你提到它工作正常。这是一个 .exe 文件(Windows)。所以你可能会在路径设置中找到 g++ 目录。 view path variables.

  2. 现在获取 g++.exe 目录后,您可以在附近文件夹或父文件夹中轻松找到文件名 string。成功定位后复制其完整路径。

  3. 现在回到 VS Code 中,将光标放在绿色下划线上,您应该会看到一个灯泡。单击它,您将在选项中看到选项编辑“includePath”设置更新“browse.path”设置。选择它,将打开一个名为 c_cpp_properties.json

  4. 的文件
  5. 现在在该文件中找到 "name": "win32"。在包含路径选项中,像这样粘贴 string 文件的目录名称,您就可以开始了。

【讨论】:

    【解决方案2】:

    在 vscode 中转到 file>preferences>settings 然后选择 edit in settings.json (这可能很难找到,某些设置有此选项,其他设置则没有。可能有更好的方法来访问此文件,但我不知道)

    这将打开 settings.json 文件,您可以在其中添加以下行:

        "C_Cpp.default.includePath": ["C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\include"]
    

    (或任何您的包含路径)这将为所有项目添加包含路径,或者仅添加当前工作区,具体取决于您打开“用户设置”或“工作区设置”的 settings.json 文件

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-19
      • 2015-06-15
      • 1970-01-01
      • 1970-01-01
      • 2021-04-01
      • 2019-12-29
      • 1970-01-01
      • 2018-07-03
      相关资源
      最近更新 更多