`
银辰宇
  • 浏览: 4573 次
文章分类
社区版块
存档分类
最新评论

关于如何编译OpenSSL for x64的解决思路

阅读更多
关于如何编译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

    标题“openssl win x64”表明这是一个关于在 Windows 64 位操作系统上编译和使用的 OpenSSL 工具包。这通常涉及到下载源代码、配置编译环境、解决依赖问题以及生成适用于 64 位系统的动态链接库(DLL)和静态链接库...

    OpenSSL 3.2.0 x64 Windows 静态库 release版本

    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)

    编译完成的OpenSSL3.2.0动态库(win10+msvc2019_x64) CSDN审核可能较慢,如无法下载,可以过段时间再回来看下 仅供相关爱好者交流使用,请于下载24小时内删除

    Openssl for windows 64位 完整安装包

    **OpenSSL for Windows 64位 完整安装包** OpenSSL是一个强大的安全套接字层密码库,包含了各种主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供丰富的应用程序供测试或其他目的使用。对于Windows...

    VS2019刚刚编译的openssl-1.1.1静态编译 static 64位 x64-debug

    标题中的“VS2019刚刚编译的openssl-1.1.1静态编译 static 64位 x64-debug”表明这是一个使用Visual Studio 2019编译的OpenSSL库,版本为1.1.1,是针对64位(x64)平台的静态链接版本,并且是调试模式(debug)的构建。...

    Windows x64 OpenSSL release

    Windows 10 x64 上编译的 OpenSSL 库, 包含:- Release 版本和 Debug 版本。- 静态库和动态库- 仅仅有 Windows 64 位版本

    openssl_x64

    **OpenSSL是一个强大的安全套接层(SSL)和传输层安全(TLS)协议...`openssl_x64_rls`可能是编译后的可执行文件或者编译结果的压缩包,具体用途需要查看其内容才能确定。在实际操作时,请根据文件内容进行相应的处理。

    openssl1.02x64+win32.zip

    总的来说,"openssl1.02x64+win32.zip" 提供了一套完整的解决方案,让 C++ 开发者能够在 Windows 平台上方便地使用 OpenSSL,无论是通过预编译的库还是自编译的源代码,都能为项目带来强大的安全支持。在实际项目中...

    mips下编译openssl.rar

    由于OpenSSL的默认构建系统主要面向x86和x86_64平台,因此在非主流架构如MIPS上编译可能需要额外的步骤和注意事项。 首先,确保你有一个适合MIPS架构的交叉编译工具链。交叉编译是为不同架构生成可执行代码的过程。...

    openssl-1.0.1h编译完成的windows x64版本

    标题提到的 "openssl-1.0.1h" 是 OpenSSL 的一个特定版本,而描述指出这是针对 Windows 操作系统的 x64(64位)架构编译完成的。 **OpenSSL 的重要性:** OpenSSL 在网络安全中扮演着关键角色,因为 SSL 和 TLS ...

    windows下编译openssl 1.1.1所需要的东西打包

    ActivePerl-5.26.3.2603-MSWin32-x64-a95bce075.exe是Perl的一个预编译版本,适用于64位Windows系统,安装后将为编译OpenSSL提供必要的运行环境。 其次,NASM(Netwide Assembler)是一个开源的x86汇编器,对于...

    编译好的 windows c++ openssl v3.0 x86和x64编译库,可以直接使用

    本资源提供的是预编译好的Windows平台上的C++ OpenSSL v3.0库,包括了x86(32位)和x64(64位)两个版本,适用于Visual Studio 2022开发环境。 首先,我们来了解一下OpenSSL的核心功能。OpenSSL包含了两个主要部分...

    openssl-x64-3.3.0.exe

    openssl 3.3.0安装包,适用于windows

    OpenSSL3.0.0静态编译

    - 进入源码目录,运行`perl Configure VC-WIN64A no-shared`(针对x64)或`perl Configure VC-WIN32 no-shared`(针对x86),这里`no-shared`参数表示我们要进行静态编译。 4. **编译和链接**: - 在源码目录下,...

    android编译openssl静态库.a 动态库.so

    - 配置环境:设置交叉编译工具链(如NDK路径)、目标架构(armeabi-v7a, arm64-v8a等)、API级别等。 - 预处理:执行`./Configure`命令,配置OpenSSL以适应Android环境,例如,选择静态库模式,指定头文件和库文件...

    VS2019刚刚编译的openssl-1.1.1静态编译 static 64位 x64-release

    在本文中,我们将深入探讨OpenSSL库,特别是与Visual Studio 2019(VS2019)相关的静态编译过程,以及64位x64 Release构建的细节。 **OpenSSL的用途** OpenSSL广泛应用于网络通信的安全保障,比如HTTPS、SMTPS、...

    win10 VS2017 编译成功的openssl 32位和64位 动、静态链接库

    2. 配置编译环境,包括设置VS的项目属性、平台工具集、目标架构(32位/x86或64位/x64)等。 3. 执行配置脚本(如Configure),以生成适用于VS的Makefile或解决方案文件。 4. 使用MSBuild或Visual Studio IDE进行编译...

    openssl + vs2019 刚编译最新的动态库链接库x86和x64

    在本案例中,我们讨论的是如何使用Visual Studio 2019(VS2019)编译OpenSSL的动态库,并生成适用于x86和x64架构的版本。 OpenSSL库通常分为静态库(libssl.lib和libcrypto.lib)和动态库(ssl.lib和crypto.lib),静态...

    openssl windows x64

    最近需要自签名证书 就下载了openssl 现提供给大家下载

    openssl-1.1.1a编译静态库 + zlib-1.2.11编译静态库 (x86 x64)

    本文将详细介绍如何编译OpenSSL 1.1.1a和zlib 1.2.11这两个关键库的静态版本,针对x86和x64架构。 OpenSSL是一个强大的安全套接层(SSL)和传输层安全(TLS)协议实现,广泛应用于网络通信的安全加密,如HTTPS、...

Global site tag (gtag.js) - Google Analytics