【问题标题】:Error "fatal error C1034: windows.h: no include path set"错误“致命错误 C1034:windows.h:未设置包含路径”
【发布时间】:2009-05-31 08:34:59
【问题描述】:

操作系统 Windows Vista Ultimate

我正在尝试运行一个名为 minimal.c 的程序。当我在命令行输入时:

C:\Users\nathan\Desktop>cl minimum.c Microsoft (R) 32 位 C/C++ 优化编译器版本 14.00.50727.762 用于 80x86 版权所有 (C) 微软公司。版权所有。 最小的.c minimum.c(5) : 致命错误 C1034: windows.h: 没有包含路径集

我已经设置了所有路径:

C:\用户\内森\桌面>路径 PATH=C:\Program Files (x86)\Microsoft Visual Studio 8\VC\bin;C:\Windows\system3 ;C:\Windows;C:\Windows\System32\Wbem;C:\Program Files (x86)\ATI Technologies\AT .ACE\Core-Static;C:\Program Files\Intel\DMIX;c:\Program Files (x86)\Microsoft S L Server\100\Tools\Binn\;c:\Program Files (x86)\Microsoft SQL Server\100\DTS\Bi n\;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files (x86)\Java\jdk1. .0_13\bin;C:\Program Files (x86)\Autodesk\Backburner\;C:\Program Files (x86)\Co mon Files\Autodesk Shared\;C:\Program Files (x86)\Microsoft DirectX SDK(3 月 009)\Include;C:\Users\nathan\Desktop\glut-3.7.6-bin\glut-3.7.6-bin;C:\Program F 文件 (x86)\Microsoft Visual Studio 8\Common7\IDE;C:\Program Files (x86)\Microsof Visual Studio 8\VC\PlatformSDK\Include;C:\Program Files (x86)\Microsoft Visual Studio 8\VC\PlatformSDK\Include\gl

我已经确定 windows.h 在目录中。我也在设置路径。它是 在C:\Program Files (x86)\Microsoft Visual Studio 8\VC\PlatformSDK\Include

我有 Visual Studio 2005。

我已经用尽了所有的可能性。有什么想法吗?

【问题讨论】:

    标签: c++ visual-studio


    【解决方案1】:

    您也可以在cl 命令之前从目录C:\Program Files\Microsoft Visual Studio 8\VC\bin(在您的路径中)运行 vcvars32.bat 文件。

    像这样:

    C:\Users\nathan\Desktop>vcvars32
    C:\Users\nathan\Desktop>cl minimal.c
    

    vcvars32 调用 C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\vsvars32.bat 设置编译和链接所需的环境。

    环境变量为INCLUDELIBPATH

    编译器在编译时在INCLUDE路径中查找头文件,在链接时从LIB路径中获取库。

    【讨论】:

    • 我按照你说的运行了 vcvars32,windows.h 不再是问题了。我不明白,如果我在环境变量中有路径,为什么它不工作,除非我运行它。每次我在编译之前打开命令行时,我是否必须运行它...它还想知道 Gl.h 在哪里,它也包含在我的路径中,但它没有找到它。 C:\Program Files (x86)\Microsoft Visual Studio 8\VC\PlatformSDK\Include\gl
    • 附带说明:此文件还有 64 位 变体:vcvars64.bat
    【解决方案2】:

    对我来说,使用 Visual Studio 2017,

    "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\vsdevcmd.bat"
    

    是使用cl编译之前要使用的命令。

    Here 是文档。

    【讨论】:

      【解决方案3】:

      当您启动命令行时,您是否运行了 Visual Studio 安装程序附带的命令行快捷方式?这将为您设置正确的环境变量,以便编译正常工作。

      【讨论】:

        【解决方案4】:

        您已将 INCLUDE 路径添加到 PATH 环境变量中。按照其他人的建议使用 vcvars32.bat。

        【讨论】:

          【解决方案5】:

          在您的项目文件夹中,打开一个 PowerShell 窗口并运行:

          cmd /c 'call "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvars64.bat" && cl minimal.c '
          

          【讨论】:

            【解决方案6】:

            您的路径变量可能太长。 Windows 在 PATH 环境变量中的字符不能超过 1023 个。

            【讨论】:

              【解决方案7】:

              我遇到了同样的问题

              致命错误 C1034:stdio.h:未设置包含路径

              在运行C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build>vcvars64.bat cmd/batch 脚本后会得到

              致命错误 C1083:无法打开包含文件:'stdio.h':没有这样的文件或目录

              错误信息。从here 和该页面上的其他帖子,我怀疑必须安装Windows 10 SDK 包。从上述路径安装并运行vcvars64.bat脚本后,问题就解决了。

              P.S. 正如 here 所解释的,作为手动查找和运行上述 cmd/batch 脚本的替代方法,您只需执行 +Q 并搜索Developer Command Prompt for ...,在我的例子中是Developer Command Prompt for VS 2022

              【讨论】:

                【解决方案8】:

                如果您有编译器 cl.exe 的 2017 版本(您安装了 Visual Studio 2017),则需要在命令提示符下转到“C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\ Auxiliary\Build" 并运行 'vcvars32.bat' 进行 x86 编译或 vcvars64.bat 进行 x64 编译。

                【讨论】:

                  猜你喜欢
                  • 2015-12-22
                  • 2016-05-17
                  • 1970-01-01
                  • 2011-12-28
                  • 2010-09-17
                  • 2017-07-14
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多