在 Windows 中编译 Qt 时出现致命错误

Posted

技术标签:

【中文标题】在 Windows 中编译 Qt 时出现致命错误【英文标题】:Fatal error when compiling Qt in Windows 【发布时间】:2013-02-13 19:45:01 【问题描述】:

我尝试在 Windows 7 中使用 MSVS2010 构建 Qt 5.0.1。

这些是我的步骤:

    将源代码解压到 C:\Qt\5.0.1 启动 VS2010 命令提示符 键入 configure(此步骤大约需要 45 分钟) 输入 nmake

一个小时后,我收到以下错误:

"C:\Program Files (x86)\Microsoft DirectX SDKUtilities\bin\x86\fxc.exe"
/nologo /E standardvs /T vs_2_0 /Fh shaders\standardvs.h ..\..\..\3rdparty\angle
\src\libGLESv2\shaders\Blit.vs

'C:\Program' is not recognized as an internal or external command,
operable program or batch file.

NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft DirectX SDKUtiliti
es\bin\x86\fxc.exe' : return code '0x1'
Stop.

NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 10.0
\VC\bin\nmake.exe"' : return code '0x2'

Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'

Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'

Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'

Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'

Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'

Stop.

我在网上搜索了很多解决方案,但都没有解决我的问题。 我什至重新安装了 Windows 并重复了这些步骤,但我又遇到了同样的错误。

【问题讨论】:

您需要更改哪条路径?我在带有 VS2013 的 Windows 8 中遇到了完全相同的问题... ...并将所有环境变量更改为不再包含空格,再次运行配置,但没有帮助:( 对我来说,我需要安装 Microsoft SDK。缺少实际的编译器。通过运行“cl.exe”,我发现它不存在。安装后编译器命令会自动添加到环境路径中。 【参考方案1】:

您的环境路径中有空格和括号。尝试使用短路径,您可以通过使用cmd 打开Windows 命令提示符并输入dir /X 来获取它们。短名称将在相应目录的前面

例如,如果您有一个脚本来设置您的环境:

SET VISUALDIR=C:\Program Files\Microsoft Visual Studio 9.0
SET PATH=%VISUALDIR%\VC\bin;%PATH%

变成

SET VISUALDIR=C:\PROGRA~1\MICROS~1.0
SET PATH=%VISUALDIR%\VC\bin;%PATH%

如果你没有脚本,错误的路径可以设置在默认的 Windows PATH 环境变量中。然后您必须手动编辑PATH 变量并在此处应用短路径。

Windows 电源

【讨论】:

对于其他任何人......对我来说,这是 $LIB 和 $INCLUDE 环境变量中路径名中的空格的问题。我在 cygwin 下构建,但同样的问题也可能适用于纯 Windows 环境。此响应帮助我解决了问题,因为该消息是 M$-cryptic。

以上是关于在 Windows 中编译 Qt 时出现致命错误的主要内容,如果未能解决你的问题,请参考以下文章

在 Qt 中编译项目时出现错误

使用 QT 运行 pytest 时出现致命的 Python 错误

尝试 npm install web3 时出现致命错误 LNK1181

为啥在 Visual Studio 中编译 C++ 项目时出现致命错误“LNK1104:无法打开文件 'cryptlib.lib'?

尝试获取具有自定义类型的 DBus 属性时出现致命错误

编译 VS 2012 C++ 项目时出现致命错误无法运行“mt.exe”