Windows10:应用程序无法正常启动(0xc000a200)
Windows 10: The application was unable to start correctly (0xc000a200)
我正在 windows 10 上开发我的 QT 应用程序。开发完成(目前)。
在 QT-creator 运行 调试模式下的应用程序之后,我试图 运行 构建目录中的可执行文件。但它向我显示了一个 "Application Error" 对话框,其中包含以下消息:
The application was unable to start correctly (0xc000a200). Click OK
to close the application.
问题是什么以及如何解决?!
错误代码在错误消息中给出是有原因的。它们对普通用户没有任何意义,但我们是程序员,我们是目标受众。既然已经发明了 Google,您绝对没有理由不花 5 秒钟来 Google 错误代码并看看它是什么意思。
在这种情况下,0xc000a200
是对应于 STATUS_NOT_APPCONTAINER
的错误代码。 COM 错误代码的主列表在 Windows SDK headers 中,特别是 ntstatus.h
。如果查一查这个,就会看到以下描述:
This operation is only valid in the context of an app container.
现在,无可否认,一旦你到达这一点,你可能会发现你已经超出了你的头脑。您可能不知道应用程序容器是什么,当然也不知道如何修复它。但至少这样你就可以问 一个很好的问题,这将大大有助于你得到一个好的答案。
但是让我们看看你这次能不能走运。当 not 位于应用容器内的应用程序尝试加载标记为应用容器一部分的 DLL 时,最常遇到此错误。它是负责将 DLL 标记为应用容器的一部分的链接器,由您使用的任何链接器的一系列选项控制。在 Microsoft 的链接器上,控制它的是 /APPCONTAINER:YES
and /APPCONTAINER:NO
。我不确定 Qt Creator 使用什么工具链,但如果它不是 Microsoft 的,这至少应该让您开始在该链接器文档中的正确位置查找。确保您的应用程序使用的所有 DLL 未被标记为应用程序容器的一部分。
对于常规的 C++ 桌面应用程序项目,该选项默认情况下应处于关闭状态,但其中一个 DLL 可能作为 Windows Store 应用程序的一部分开始使用。或者有可能是开关被意外抛出。
我遇到了同样的错误,但批准的解决方案并不能解决问题。我发现我安装了错误的 Qt 编译器支持包。对我来说,使用 Windows 10 64 位的 Qt 5.9.1 与 Visual Studio 2017 一起使用。安装 Qt 时,我选择了 "msvc2017 64-bit" 选项。听起来不错,对吧?错误:我想要的是 "UWP x64 (MSVC2017)".
我正在 windows 10 上开发我的 QT 应用程序。开发完成(目前)。
在 QT-creator 运行 调试模式下的应用程序之后,我试图 运行 构建目录中的可执行文件。但它向我显示了一个 "Application Error" 对话框,其中包含以下消息:
The application was unable to start correctly (0xc000a200). Click OK to close the application.
问题是什么以及如何解决?!
错误代码在错误消息中给出是有原因的。它们对普通用户没有任何意义,但我们是程序员,我们是目标受众。既然已经发明了 Google,您绝对没有理由不花 5 秒钟来 Google 错误代码并看看它是什么意思。
在这种情况下,0xc000a200
是对应于 STATUS_NOT_APPCONTAINER
的错误代码。 COM 错误代码的主列表在 Windows SDK headers 中,特别是 ntstatus.h
。如果查一查这个,就会看到以下描述:
This operation is only valid in the context of an app container.
现在,无可否认,一旦你到达这一点,你可能会发现你已经超出了你的头脑。您可能不知道应用程序容器是什么,当然也不知道如何修复它。但至少这样你就可以问 一个很好的问题,这将大大有助于你得到一个好的答案。
但是让我们看看你这次能不能走运。当 not 位于应用容器内的应用程序尝试加载标记为应用容器一部分的 DLL 时,最常遇到此错误。它是负责将 DLL 标记为应用容器的一部分的链接器,由您使用的任何链接器的一系列选项控制。在 Microsoft 的链接器上,控制它的是 /APPCONTAINER:YES
and /APPCONTAINER:NO
。我不确定 Qt Creator 使用什么工具链,但如果它不是 Microsoft 的,这至少应该让您开始在该链接器文档中的正确位置查找。确保您的应用程序使用的所有 DLL 未被标记为应用程序容器的一部分。
对于常规的 C++ 桌面应用程序项目,该选项默认情况下应处于关闭状态,但其中一个 DLL 可能作为 Windows Store 应用程序的一部分开始使用。或者有可能是开关被意外抛出。
我遇到了同样的错误,但批准的解决方案并不能解决问题。我发现我安装了错误的 Qt 编译器支持包。对我来说,使用 Windows 10 64 位的 Qt 5.9.1 与 Visual Studio 2017 一起使用。安装 Qt 时,我选择了 "msvc2017 64-bit" 选项。听起来不错,对吧?错误:我想要的是 "UWP x64 (MSVC2017)".