Win 10 上的 QT Creator,"Failed to retrieve MSVC Environment"
QT Creator on Win 10, "Failed to retrieve MSVC Environment"
QT 的完整错误,在 GUI 无响应时需要一分钟多的时间才能出现:
:-1: error: Failed to retrieve MSVC Environment from "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat x86_amd64":
The command "C:\WINDOWS\system32\cmd.exe" could not be started.
我的 QT 项目在 Windows 7、QT 5.6(编译器 MSVC2015 64 位)、QT creator 4.4.0 和 Visual Studio Professional 2015 上编译得很好。但是我得到这个错误,在Windows 10,当我尝试运行 QT 5.6(相同的编译器),QT Creator 4.4.1和Visual Studio Express 2015时。错误信息似乎是无意义的,QT怎么不找到 cmd.exe?
很明显,QT 从 Windows 10 或 VS 中丢失了一些东西,它在超时之前无法获得。
--EDIT2--
一些进展:部分问题一定出在 Express Edition 上。至少 MSVS2017 Express 没有附带 64 位编译器。
擦除 QT5.6/VS'15 并尝试最新版本(MSVS2017 Community 版和 QT 5.9),我可以从 QtCreator 编译。但是,仅当我打开 QT 的命令提示符时,运行 64 位环境的 vcvarsall.bat 文件,然后从该提示符打开 qtcreator。即:
"\Program Files (x86)\Microsoft Visual Studio17\Community\VC\Auxiliary"\Build\vcvarsall.bat amd64
qtcreator
所以问题真的是为什么 QT 不获取 VS 环境变量?我试过在线搜索,但我在网上找到的唯一 post 问 QtCreator 是如何初始化的.. 仍然没有答案。
--EDIT1--
忽略包括在内,我一直在(尝试)安装:
- Visual Studio Express 2015 桌面版
- (在意识到我的错误并迅速卸载之前短暂地尝试了 Express 2015 Windows 10!)
- Windows SDK 10.0.10586.212
- QT 5.6(带有 MSVC2015 编译器)和捆绑的 QT Creator (4.4.1) 及其调试器
另外,最近用干净的映像擦除并安装了 PC。那是几周前的事了,所以上面确实没有太多垃圾(除了我尝试安装 VS 和 QT 之外......?)。
坚韧不拔的细节
正在搜索这个特定的错误,有 2 个最近提交给 QT 的错误。
https://bugreports.qt.io/browse/QTCREATORBUG-19099
检查那里的建议:cmd.exe 在 Windows 10 上的 10 秒内开始,相比之下 Windows 上的 3 秒 7 - 这不可能是个问题吗?
我的 PATH 环境变量只包含绝对路径。
我查看了注册表,但找不到命令处理器的自动运行键的位置。指定的注册表路径与我在我的机器上看到的不同?
https://bugreports.qt.io/browse/QTCREATORBUG-18886
如有任何帮助,我们将不胜感激。我只是看不出如何进一步调试它。
以上评论有助于找到可能的来源。我不能 "fix" 它,但通过打开 Qt 开发人员的 cmd 提示符绕过它,从相同的 cmd 提示符加载适当的 vsvarsall.bat 文件和 运行 qtcreator。 QtCreator在启动之后会在一分钟多的时间里没有反应,但是之后就没事了。
你在使用 clink 吗?
我删除了它,现在我没有那个问题了。
我遇到了同样的问题。对我来说,罪魁祸首是我安装的一个应用程序,它在每次启动 cmd.exe 之前运行,这会延迟它的启动时间,从而导致问题。删除该应用程序为我修复了它。
QT 的完整错误,在 GUI 无响应时需要一分钟多的时间才能出现:
:-1: error: Failed to retrieve MSVC Environment from "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat x86_amd64":
The command "C:\WINDOWS\system32\cmd.exe" could not be started.
我的 QT 项目在 Windows 7、QT 5.6(编译器 MSVC2015 64 位)、QT creator 4.4.0 和 Visual Studio Professional 2015 上编译得很好。但是我得到这个错误,在Windows 10,当我尝试运行 QT 5.6(相同的编译器),QT Creator 4.4.1和Visual Studio Express 2015时。错误信息似乎是无意义的,QT怎么不找到 cmd.exe?
很明显,QT 从 Windows 10 或 VS 中丢失了一些东西,它在超时之前无法获得。
--EDIT2--
一些进展:部分问题一定出在 Express Edition 上。至少 MSVS2017 Express 没有附带 64 位编译器。
擦除 QT5.6/VS'15 并尝试最新版本(MSVS2017 Community 版和 QT 5.9),我可以从 QtCreator 编译。但是,仅当我打开 QT 的命令提示符时,运行 64 位环境的 vcvarsall.bat 文件,然后从该提示符打开 qtcreator。即:
"\Program Files (x86)\Microsoft Visual Studio17\Community\VC\Auxiliary"\Build\vcvarsall.bat amd64
qtcreator
所以问题真的是为什么 QT 不获取 VS 环境变量?我试过在线搜索,但我在网上找到的唯一 post 问 QtCreator 是如何初始化的.. 仍然没有答案。
--EDIT1--
忽略包括在内,我一直在(尝试)安装:
- Visual Studio Express 2015 桌面版
- (在意识到我的错误并迅速卸载之前短暂地尝试了 Express 2015 Windows 10!)
- Windows SDK 10.0.10586.212
- QT 5.6(带有 MSVC2015 编译器)和捆绑的 QT Creator (4.4.1) 及其调试器
另外,最近用干净的映像擦除并安装了 PC。那是几周前的事了,所以上面确实没有太多垃圾(除了我尝试安装 VS 和 QT 之外......?)。
坚韧不拔的细节
正在搜索这个特定的错误,有 2 个最近提交给 QT 的错误。
https://bugreports.qt.io/browse/QTCREATORBUG-19099
检查那里的建议:cmd.exe 在 Windows 10 上的 10 秒内开始,相比之下 Windows 上的 3 秒 7 - 这不可能是个问题吗?
我的 PATH 环境变量只包含绝对路径。
我查看了注册表,但找不到命令处理器的自动运行键的位置。指定的注册表路径与我在我的机器上看到的不同?
https://bugreports.qt.io/browse/QTCREATORBUG-18886
如有任何帮助,我们将不胜感激。我只是看不出如何进一步调试它。
以上评论有助于找到可能的来源。我不能 "fix" 它,但通过打开 Qt 开发人员的 cmd 提示符绕过它,从相同的 cmd 提示符加载适当的 vsvarsall.bat 文件和 运行 qtcreator。 QtCreator在启动之后会在一分钟多的时间里没有反应,但是之后就没事了。
你在使用 clink 吗?
我删除了它,现在我没有那个问题了。
我遇到了同样的问题。对我来说,罪魁祸首是我安装的一个应用程序,它在每次启动 cmd.exe 之前运行,这会延迟它的启动时间,从而导致问题。删除该应用程序为我修复了它。