我遇到LoadLibrary(加载DLL库)的问题,从Visual C ++ 2008迁移到Visual C ++ 2012后出现问题。
当我尝试在我的dll上使用LoadLibrary时出现错误(GetLastError返回193),这很奇怪,因为在旧的视觉中,同一个dll没有问题(两个视觉上都设置了x64)。
答案 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依赖问题。