OpenSSL 致命错误 LNK1112:模块机器类型“x86”与目标机器类型“x64”冲突

Jam*_*mes 8 windows 64-bit openssl visual-c++

我在 Windows 10 上尝试构建 OpenSSL 时遇到了一个非常令人沮丧的错误。我得到的错误是

"lib" /nologo /out:providers\libdefault_static.lib @C:\Users\jcava\AppData\Local\Temp\nmF1AF.tmp
providers\common\libdefault-lib-bio_prov.obj : fatal error LNK1112: module machine type 'x86' conflicts with target machine type 'x64
Run Code Online (Sandbox Code Playgroud)

我正在执行的步骤perl Configure VC-WIN64Anmake在我从 Github 克隆的 openssl 目录中运行。我在 VS 2019 的 x64 命令行提示符下运行所有​​这些。

干杯,詹姆斯

Cha*_*ock 12

对于 x64,您必须从 VS 201x 的 x64 本机工具命令提示符perl Configure运行命令,而不是VS 201x 的开发人员命令提示符nmake

您可以在 Windows 搜索栏中搜索它。确保右键单击它并以管理员模式运行它。

如果您已经错误地编译了它,则可能需要删除 openssl 并再次克隆它。删除 .obj 文件并没有解决我的问题。

来源


小智 3

我有类似的问题。这意味着有一些目标文件已经使用 x86 编译(在本例中)。也许您开始使用 x86 编译器。

如果删除所有目标文件(del /S *.obj在 openssl 目录中键入),然后再次运行 nmake 应该可以正常编译。

或者,您可以重新克隆存储库并重新开始。