VS2012错误:应用程序无法正确启动(0xc000007b) [英] VS2012 Error: The application was unable to start correctly (0xc000007b)

查看:2101
本文介绍了VS2012错误:应用程序无法正确启动(0xc000007b)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在尝试运行我在Visual Studio 2012中构建的C ++ SFML 32位程序的exe文件后,我收到错误应用程序无法正确启动(0xc000007b)。我在项目中静态链接SFML dll ,但包含以下dll和我的程序:

I received the error "The application was unable to start correctly (0xc000007b)" after attempting to run my exe file of my C++ SFML 32-bit program I built in Visual Studio 2012. I statically linked the SFML dlls in my project, but incorporated the following dlls along with my program:

libsndfile-1.dll
openal32.dll
msvcp110.dll
msvcp110d.dll
msvcr110.dll
msvcr110d.dll

问题是什么?

推荐答案

遇到的实际错误代码是 0xC000007B 。这是 NTSTATUS 错误代码 STATUS_INVALID_IMAGE_FORMAT 。该错误几乎总是发生,因为应用程序是32位,并尝试加载64位模块,反之亦然。在你的情况下,你说你的应用程序是32位,因此它似乎是试图链接到一个64位的DLL。使用像Dependency Walker这样的工具来诊断具有错误比特率的模块。

The actual error code that you encountered is 0xC000007B. That is the NTSTATUS error code STATUS_INVALID_IMAGE_FORMAT. That error arises, almost invariably, because the application is 32 bit and attempted to load a 64 bit module, or vice versa. In your case, you state that your application is 32 bit, so it seems that it is attempting to link to a 64 bit DLL. Use a tool like Dependency Walker to diagnose the module which has the wrong bitness.

我不明白为什么要分发MSVC运行时的发行版和调试版。你只需要一个,那一个应该是发行版本。结束 d 的文件是调试版本。您不能重新分发这些内容。

I don't understand why you are distributing both release and debug versions of the MSVC runtime. You only need one, and that one should be the release versions. The files that end d are the debug versions. You are not permitted to redistribute them.

这篇关于VS2012错误:应用程序无法正确启动(0xc000007b)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆