LoadLibrary在x64上的最新版本的Visual C ++上返回193

时间:2015-07-27 08:04:43

标签: c++ visual-studio visual-studio-2012 dll

我遇到LoadLibrary(加载DLL库)的问题,从Visual C ++ 2008迁移到Visual C ++ 2012后出现问题。

当我尝试在我的dll上使用LoadLibrary时出现错误(GetLastError返回193),这很奇怪,因为在旧的视觉中,同一个dll没有问题(两个视觉上都设置了x64)。

1 个答案:

答案 0 :(得分:1)

193是ERROR_BAD_EXE_FORMAT,这意味着您尝试加载的DLL或其依赖项之一不是有效的可执行文件,或者可能是32位可执行文件。所以你的构建中可能有一些配置错误。

您可以使用Dependency Viewer之类的工具检查可执行文件,看它们是否匹配。

编辑:这里是14001的描述:

//

// MessageId: ERROR_SXS_CANT_GEN_ACTCTX
//
// MessageText:
//
// The application has failed to start because its side-by-side
// configuration is incorrect. Please see the application event
// log or use the command-line sxstrace.exe tool for more detail.
//
#define ERROR_SXS_CANT_GEN_ACTCTX        14001L

所以它肯定似乎是DLL依赖问题。