我有 LoadLibrary(加载 dll 库)问题,从 Visual C++ 2008 迁移到 Visual C++ 2012 后出现问题。
当我尝试在我的 dll 上使用 LoadLibrary 时出现错误(GetLastError 返回 193),这很奇怪,因为在旧视觉中,相同的 dll 没有问题(两个视觉上都设置了 x64)。
最佳答案
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 依赖问题。
关于c++ - LoadLibrary 在 x64 上最新版本的 Visual C++ 上返回 193,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31647874/