标题非常简单 - 在x64中构建时我无法运行任何内容,而且我收到一个带有此错误代码的消息框。你知道这里可能出现什么问题吗?
答案 0 :(得分:2)
这是STATUS_INVALID_IMAGE_FORMAT
,您可以在ntstatus.h SDK头文件中找到这些错误代码。
它肯定与构建x64代码密切相关。只要程序依赖于32位代码,特别是在DLL中,您就会得到此状态代码。尝试在启动时加载DLL时,程序将无法启动,64位进程不能包含任何32位代码。或者反过来说,一个试图加载64位DLL的32位进程。
查看程序的所有依赖项,尤其是链接的导入库。必须构建一切以定位x64。您可以使用SysInternals的ProcMon实用程序来查找无法加载的DLL,以防这是DLL Hell问题。
答案 1 :(得分:1)
只是上面正确答案的补充:还要检查你.manifest文件(相应的#pragma comment(链接器,“/ manifestdependency ...)并确保你有32位的processorArchitecture ='x86'和processorArchitecture ='amd64'代表x64代码。