尝试运行我在Visual Studio 2012中构建的C ++ SFML 32位程序的exe文件后,收到错误消息“应用程序无法正确启动(0xc000007b)”。我在项目中静态链接了SFML dll,但将其合并以下dll和我的程序:
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之类的工具来诊断位错误的模块。
我不明白为什么您要同时发布MSVC运行时的发行版和调试版。您只需要一个,而那个应该是发行版本。结束的文件d
是调试版本。您无权重新分发它们。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句