Windows 10:应用程序无法正确启动 (0xc000a200)
Windows 10: The application was unable to start correctly (0xc000a200)
我正在Windows 10上开发我的QT应用程序。开发已完成(截至目前(。
从QT-creator 以调试模式运行应用程序后,我正在尝试从构建目录运行可执行文件。但它向我显示一个"应用程序错误"对话框,其中包含以下消息:
应用程序无法正确启动 (0xc000a200(。单击"确定" 以关闭应用程序。
问题是什么以及如何解决?!
错误消息中给出的错误代码是有原因的。它们对普通用户没有任何意义,但我们是程序员,我们是目标受众。既然谷歌已经被发明出来了,你绝对没有理由不花5秒钟来谷歌错误代码,看看它意味着什么。
在这种情况下,0xc000a200
是对应于 STATUS_NOT_APPCONTAINER
的错误代码。COM 错误代码的主列表位于 Windows SDK 标头中,具体为 ntstatus.h
。如果查找此内容,则会看到以下描述:
此操作仅在应用容器的上下文中有效。
现在,诚然,一旦你到了这个地步,你可能会发现你已经超出了你的头脑。您可能不知道应用程序容器是什么,当然也不知道如何修复它。但至少这样你就能问一个好问题,这将大大有助于你得到一个好的答案。
但是,让我们看看这次你是否能走运。当不在应用容器内的应用程序尝试加载标记为应用容器一部分的 DLL 时,最常遇到此错误。它是链接器,负责将 DLL 标记为或不是应用容器的一部分,由你正在使用的任何链接器的一系列选项控制。在Microsoft的链接器上,控制这一点的是/APPCONTAINER:YES
和/APPCONTAINER:NO
。我不确定Qt Creator使用什么工具链,但如果它不是Microsoft的工具链,这至少应该让你开始在该链接器文档中的正确位置查找。确保应用程序使用的所有 DLL 未标记为应用容器的一部分。
对于常规C++桌面应用程序项目,默认情况下应关闭该选项,但其中一个 DLL 最初可能是作为 Windows 应用商店应用的一部分开始的。或者开关可能只是意外抛出。
我有同样的错误,但批准的解决方案不是治愈方法。 我发现我安装了错误的Qt编译器支持包。 对我来说,它是Windows 10 64位上的Qt 5.9.1,用于Visual Studio 2017。 安装Qt时,我选择了"msvc2017 64位"选项。 听起来不错,对吧? 错误:我想要的是"UWP x64 (MSVC2017("。
- 如何创建一个空的全局类并在启动时实例化它
- 即使我读取了所有内容,在FIFO上打开的QSocketNotifier也会一直启动
- 使用 std::string () const 函数启动线程或未来
- 如何修复valgrind启动时的致命错误(与libc6-dbg和libc6-dbg:i386连接)
- 将向量作为类>(值)<向量启动和向量<类>[值]有什么区别
- 如何创建线程序列以按照启动顺序执行任务?
- WINAPI 注册应用程序重新启动时不清除打开的套接字
- 在挂钩启动新线程时解除挂钩进程
- 程序无法启动,因为缺少 libmpc-3.dll
- 从 exe 文件 (Visual Studio ) 启动时调试断言失败
- QSerialPort 在应用程序启动之前正在使用中
- 无法在 Arch Linux 中启动虚幻引擎 4
- C++关于指针和使用函数将它们启动到堆的行为究竟是什么?
- 如何使用 ctypes 停止和重新启动从 Python 运行的C++代码
- 程序在使用 system() 启动另一个可执行文件时停止
- Qt 和 Android - 如何使用 Qandroidjniobject 启动相机
- Q没有管理权限的 exe 无法启动维护工具
- 启动类函数作为失去引用的线程
- 如何使用C++确定应用程序是否已在窗口中启动?
- Windows 10:应用程序无法正确启动 (0xc000a200)