关于如何编译OpenSSL for x64的解决思路
按照INSTALL.W64中的说明操作后,你一定会遇到两个问题:
1.代码仍写入“out32”文件夹。我需要能够在我的工作站上链接到32位和64位版本的库,所以我不希望64位版本破坏32位库。
2.输出仍然是32位!这意味着我在尝试从x64应用程序链接到库时遇到“未解析的外部符号”错误。
解决思路1:
要编译静态库(发布和调试),需要执行以下操作:
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”:
#所有内容的输出目录
OUT_D = out64.dbg
#所有临时muck的输出目录
TMP_D = tmp64.dbg
#头文件的输出目录
INC_D = inc64
INCO_D = inc64 \ OpenSSL的
如果您收到错误,请编辑ms \ nt.mak并从EX_LIBS中删除bufferoverflowu.lib。
运行:nmake -f ms \ nt.mak
编辑ms \ do_win64a文件并向所有行添加“debug”,“ml64”和最后两行除外
运行:ms \ do_win64a
重复步骤4和5
将ms \ nt.mak文件和ADD / Zi编辑到CFLAG列表!
运行:nmake -f ms \ nt.mak
解决思路2:
我用这种方式解决了这个问题,使用1.0.1c源代码:
util/pl/VC-32.pl在此$o='\\';行之前添加此块。
if ($debug)
{
$ssl .= 'd';
$crypto .= 'd';
}
util/pl/VC-32.pl在此if ($debug)行之前添加此块。
if ($FLAVOR =~ /WIN64/)
{
$out_def =~ s/32/64/;
$tmp_def =~ s/32/64/;
$inc_def =~ s/32/64/;
}
然后建立所有可能:
setenv /x86 /release
perl Configure VC-WIN32 --prefix=build -DUNICODE -D_UNICODE
ms\do_ms
nmake -f ms\ntdll.mak
setenv /x64 /release
perl Configure VC-WIN64A --prefix=build
ms\do_win64a.bat
nmake -f ms\ntdll.mak
setenv /x86 /debug
perl Configure debug-VC-WIN32 --prefix=build -DUNICODE -D_UNICODE
ms\do_ms
move /y ms\libeay32.def ms\libeay32d.def
move /y ms\ssleay32.def ms\ssleay32d.def
nmake -f ms\ntdll.mak
setenv /x64 /debug
perl Configure debug-VC-WIN64A --prefix=build
ms\do_win64a.bat
move /y ms\libeay32.def ms\libeay32d.def
move /y ms\ssleay32.def ms\ssleay32d.def
nmake -f ms\ntdll.mak
解决思路3:参考:https://km0871.weebly.com/
运行环境:参考:https://nthy0513.weebly.com/
Windows 10
MS Visual Studio 2017
先决条件:
安装ActivePerl - 社区版很好
安装NASM
确保Perl和NASM都在PATH环境变量中。
编译x64:
打开x64 Native Tools命令提示符
perl配置VC-WIN64A --prefix = e:\ projects \ bin \ OpenSSL \ vc-win64a --openssldir = e:\ projects \ bin \ OpenSSL \ SSL
NMAKE
nmake测试
nmake安装
第4步是可选的。
编译x86:
打开x86 Native Tools命令提示符
perl配置VC-WIN32 --prefix = e:\ projects \ bin \ OpenSSL \ vc-win32 --openssldir = e:\ projects \ bin \ OpenSSL \ SSL
NMAKE
nmake测试
nmake安装
第4步是可选的。
分享到:
相关推荐
标题“openssl win x64”表明这是一个关于在 Windows 64 位操作系统上编译和使用的 OpenSSL 工具包。这通常涉及到下载源代码、配置编译环境、解决依赖问题以及生成适用于 64 位系统的动态链接库(DLL)和静态链接库...
openssl 3.2.0 x64 Windows 静态库 release版本 通过vs2019调用测试, perl Configure VC-WIN64A no-asm no-shared --prefix=d:\c\openssl nmake nmake test nmake install zip包里包含: lib\libssl.lib lib\...
编译完成的OpenSSL3.2.0动态库(win10+msvc2019_x64) CSDN审核可能较慢,如无法下载,可以过段时间再回来看下 仅供相关爱好者交流使用,请于下载24小时内删除
**OpenSSL for Windows 64位 完整安装包** OpenSSL是一个强大的安全套接字层密码库,包含了各种主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供丰富的应用程序供测试或其他目的使用。对于Windows...
标题中的“VS2019刚刚编译的openssl-1.1.1静态编译 static 64位 x64-debug”表明这是一个使用Visual Studio 2019编译的OpenSSL库,版本为1.1.1,是针对64位(x64)平台的静态链接版本,并且是调试模式(debug)的构建。...
Windows 10 x64 上编译的 OpenSSL 库, 包含:- Release 版本和 Debug 版本。- 静态库和动态库- 仅仅有 Windows 64 位版本
**OpenSSL是一个强大的安全套接层(SSL)和传输层安全(TLS)协议...`openssl_x64_rls`可能是编译后的可执行文件或者编译结果的压缩包,具体用途需要查看其内容才能确定。在实际操作时,请根据文件内容进行相应的处理。
总的来说,"openssl1.02x64+win32.zip" 提供了一套完整的解决方案,让 C++ 开发者能够在 Windows 平台上方便地使用 OpenSSL,无论是通过预编译的库还是自编译的源代码,都能为项目带来强大的安全支持。在实际项目中...
由于OpenSSL的默认构建系统主要面向x86和x86_64平台,因此在非主流架构如MIPS上编译可能需要额外的步骤和注意事项。 首先,确保你有一个适合MIPS架构的交叉编译工具链。交叉编译是为不同架构生成可执行代码的过程。...
标题提到的 "openssl-1.0.1h" 是 OpenSSL 的一个特定版本,而描述指出这是针对 Windows 操作系统的 x64(64位)架构编译完成的。 **OpenSSL 的重要性:** OpenSSL 在网络安全中扮演着关键角色,因为 SSL 和 TLS ...
ActivePerl-5.26.3.2603-MSWin32-x64-a95bce075.exe是Perl的一个预编译版本,适用于64位Windows系统,安装后将为编译OpenSSL提供必要的运行环境。 其次,NASM(Netwide Assembler)是一个开源的x86汇编器,对于...
本资源提供的是预编译好的Windows平台上的C++ OpenSSL v3.0库,包括了x86(32位)和x64(64位)两个版本,适用于Visual Studio 2022开发环境。 首先,我们来了解一下OpenSSL的核心功能。OpenSSL包含了两个主要部分...
openssl 3.3.0安装包,适用于windows
- 进入源码目录,运行`perl Configure VC-WIN64A no-shared`(针对x64)或`perl Configure VC-WIN32 no-shared`(针对x86),这里`no-shared`参数表示我们要进行静态编译。 4. **编译和链接**: - 在源码目录下,...
- 配置环境:设置交叉编译工具链(如NDK路径)、目标架构(armeabi-v7a, arm64-v8a等)、API级别等。 - 预处理:执行`./Configure`命令,配置OpenSSL以适应Android环境,例如,选择静态库模式,指定头文件和库文件...
在本文中,我们将深入探讨OpenSSL库,特别是与Visual Studio 2019(VS2019)相关的静态编译过程,以及64位x64 Release构建的细节。 **OpenSSL的用途** OpenSSL广泛应用于网络通信的安全保障,比如HTTPS、SMTPS、...
2. 配置编译环境,包括设置VS的项目属性、平台工具集、目标架构(32位/x86或64位/x64)等。 3. 执行配置脚本(如Configure),以生成适用于VS的Makefile或解决方案文件。 4. 使用MSBuild或Visual Studio IDE进行编译...
在本案例中,我们讨论的是如何使用Visual Studio 2019(VS2019)编译OpenSSL的动态库,并生成适用于x86和x64架构的版本。 OpenSSL库通常分为静态库(libssl.lib和libcrypto.lib)和动态库(ssl.lib和crypto.lib),静态...
最近需要自签名证书 就下载了openssl 现提供给大家下载
本文将详细介绍如何编译OpenSSL 1.1.1a和zlib 1.2.11这两个关键库的静态版本,针对x86和x64架构。 OpenSSL是一个强大的安全套接层(SSL)和传输层安全(TLS)协议实现,广泛应用于网络通信的安全加密,如HTTPS、...