【问题标题】:OpenSSL fatal error LNK1112: module machine type 'x86' conflicts with target machine type 'x64OpenSSL 致命错误 LNK1112:模块机器类型“x86”与目标机器类型“x64”冲突
【发布时间】:2021-08-10 03:08:58
【问题描述】:

我在尝试在 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

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

干杯, 詹姆斯

【问题讨论】:

    标签: windows visual-c++ openssl 64-bit


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      对于 x64,您必须运行 perl Configurenmake 命令 适用于 VS 201x 的 x64 原生工具命令提示符,而不是 适用于 VS 201x 的开发者命令提示符

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

      如果你已经编译不正确,你可能不得不删除 openssl 并再次克隆它。删除 .obj 文件并没有解决我的问题。

      Source

      【讨论】:

        猜你喜欢
        • 2011-04-03
        • 2012-02-06
        • 1970-01-01
        • 2013-01-20
        • 2013-04-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多