【问题标题】:Visual Studio Code C/C++ Extension doesn't set the include path for the compilerVisual Studio Code C/C++ Extension 没有为编译器设置包含路径
【发布时间】:2020-07-07 20:24:20
【问题描述】:

我为 Visual Studio Code (ms-vscode.cpptools) 安装了 C/C++ 扩展,我正在尝试编译一个 .cpp 文件,但我不断收到fatal error C1034: iostream: no include path set

这里是tasks.json的内容:

{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "shell",
            "label": "C/C++: cl.exe build active file",
            "command": "cl.exe",
            "args": [
                "/Zi",
                "/EHsc",
                "/Fe:",
                "${fileDirname}\\${fileBasenameNoExtension}.exe",
                "${file}"
            ],
            "options": {
                "cwd": "${workspaceFolder}"
            },
            "problemMatcher": [
                "$msCompile"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}

这里是c_cpp_properties.json的内容:

{
    "configurations": [
        {
            "name": "Win32",
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "windowsSdkVersion": "8.1",
            "compilerPath": "C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.26.28801/bin/Hostx64/x64/cl.exe",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "msvc-x64"
        }
    ],
    "version": 4
}

这是确切的输出:

> 执行任务:cl.exe /Zi /EHsc /Fe:c:\Users\User\Documents\C\cpp_workshop-cpp_ex2\main.exe c:\Users\User\Documents\C\cpp_workshop-cpp_ex2\main.cpp

Microsoft (R) C/C++ 优化编译器版本 19.00.24213.1 for x86 版权所有 (C) 微软公司。保留所有权利。

main.cpp

c:\Users\User\Documents\C\cpp_workshop-cpp_ex2\main.cpp(21): 致命错误 C1034:iostream:未设置包含路径

终端进程以退出代码终止:1

帮助我,堆栈溢出。你是我唯一的希望!

【问题讨论】:

  • @TedLyngmo 不是。它说here“如果您的程序包含不在您的工作区或标准库路径中的头文件,您只需要添加到包含路径数组设置。”
  • 好的,您是从 Visual Studio 的开发人员命令提示符启动 VS Code 吗? issue 3654: "如果您收到错误 C1034: iostream: no include path set: 如果您还没有,请从随 MSVC 编译器集一起安装的开发人员命令提示符启动 VS 代码。如果您有现在一切都解决了,很好。如果没有,请继续。如果您收到错误致命错误 LNK1112:模块机器类型'x86'与目标机器类型'x64'冲突,您需要从 x64 开发人员命令提示符启动 VS Code"
  • @TedLyngmo 是的,它现在可以工作了。谢谢!但它非常麻烦,一次只构建一个文件。我想我会迁移到 CMake。
  • 很好用!您可能可以将构建拆分为较小的任务,并在 tasks.json 中创建一个依赖关系图(链接为 dependsOn 编译任务的任务) - If you list more than one task in the dependsOn property they are executed in parallel.

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


【解决方案1】:

我遇到了同样的问题,正如Ted Lyngmo 所说:

使用开发者命令提示符打开 vscode。

编辑:
当我使用开发人员命令提示符(DCP)打开 vscode 时,它​​不会给出这样的错误。
要打开 DCP,请按照以下步骤操作:
1- 打开开始菜单(WIN 键)并开始输入“开发人员命令提示符”,它应该会出现在那里。
2-打开后写code .并运行它。这样你就可以从 DCP 打开 vs 代码了。
3- 导航所需的文件夹 inside vscode 并在那里创建 cpp 文件。
4-写完“Helloworld.cpp”后按CTRL + SHIFT + B,这将编译您的代码

希望对你有帮助

【讨论】:

  • 对解决方案进行更多描述。
猜你喜欢
  • 2015-09-18
  • 1970-01-01
  • 2013-09-18
  • 2018-01-06
  • 2021-02-11
  • 2021-05-07
  • 2016-07-07
  • 2016-09-28
相关资源
最近更新 更多