我们如何为x64编译OpenSSL?
时间:2020-03-06 14:58:54 来源:igfitidea点击:
在按照INSTALL.W64中的说明进行操作之后,我遇到了两个问题:
- 该代码仍被写入" out32"文件夹。我需要能够链接到我工作站上的库的32位和64位版本,因此我不希望64位版本破坏32位库。
- 输出仍然是32位!这意味着当尝试从x64应用程序链接到库时,出现"无法解析的外部符号"错误。
解决方案
要编译静态库(发布和调试),这是我们需要做的:
- 安装Perl-www.activestate.com
- 运行" Visual Studio 2008 x64交叉工具命令提示符"(注意:常规命令提示符将不起作用。)
- 使用perl进行配置配置VC-WIN64A无共享的无意识
- 运行:ms \ do_win64a
- 编辑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
- 编辑ms \ nt.mak并从EX_LIBS中删除bufferoverflowu.lib(如果出现错误)。
- 运行:nmake -f ms \ nt.mak
- 编辑ms \ do_win64a文件,并将"调试"添加到除" ml64"和最后两行以外的所有行中
- 运行:ms \ do_win64a
- 重复步骤4和5
- 编辑ms \ nt.mak文件,并将/ Zi添加到CFLAG列表!
- 运行:nmake -f ms \ nt.mak
我们也可以使用MSYS + mingw-w64:
1)下载msys并将其解压缩到C:\ msys
2)下载mingw-w64并将其解压缩到c:\ mingw64
3)运行msys后安装脚本。当它要求我们安装mingw时,将其指向C:\ mingw64 \ bin
4)提取一个openssl每日快照(1.0.0版本有一个错误)。在源目录中运行
配置mingw64
制作
做支票
进行安装
5)openssl已安装到/ local /