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

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

我有 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/

相关文章:

visual-studio-2010 - Visual Studio 2012 解决方案 TeamCity 中的 MSBuild

c++ - 在 Windows 中使用事件进行调试

c - 未处理的异常 0xC0000008 : An invalid handle was specified in dynamic recompiler

c++ - 数字 ErrorMessage 的含义

.net - 在 VS 2012 中保存/导出单元测试结果

c++ - 在 C++ 结构中,构造函数中的默认值和默认参数有什么区别?

c++ - MaxLocksPerFile JET4.0注册表值的最大值是多少

c++ - LSH 比 BruteForce 匹配慢

c++ - 返回与作为参数传递的 lambda 表达式相同的类型

c++ - VS 2012 MFC 对话框中缺少 WM_WINDOWPOSCHANGING