你如何编译OpenSSL for x64?

kgr*_*ffs 16 c c++ windows 64-bit win64

按照INSTALL.W64中的说明操作后,我遇到两个问题:

  • 代码仍写入"out32"文件夹.我需要能够在我的工作站上链接到32位和64位版本的库,所以我不希望64位版本破坏32位库.
  • 输出仍然是32位!这意味着我在尝试从x64应用程序链接到库时遇到"未解析的外部符号"错误.

kgr*_*ffs 22

要编译静态库(发布和调试),您需要执行以下操作:

  1. 安装Perl - www.activestate.com
  2. 运行"Visual Studio 2008 x64交叉工具命令提示符"(注意:常规命令提示符将不起作用.)
  3. 配置perl配置VC-WIN64A no-shared no-idea
  4. 运行:ms\do_win64a
  5. 编辑ms \nt.mak并在输出目录中将"32"更改为"64":
    # The output directory for everything intersting
    OUT_D=out64.dbg
    # The output directory for all the temporary muck
    TMP_D=tmp64.dbg
    # The output directory for the header files
    INC_D=inc64
    INCO_D=inc64\openssl
  1. 如果您收到错误,请编辑ms \nt.mak并从EX_LIBS中删除bufferoverflowu.lib.
  2. 运行:nmake -f ms \nt.mak
  3. 编辑ms\do_win64a文件并向所有行添加"debug","ml64"和最后两行除外
  4. 运行:ms\do_win64a
  5. 重复步骤4和5
  6. 将ms \nt.mak文件和ADD/Zi编辑到CFLAG列表!
  7. 运行:nmake -f ms \nt.mak

  • "Visual Studio 2008 x64交叉工具命令提示符">我在哪里可以找到它?(我用我身边的VS 2015) (3认同)