OpenSSL Windows编译

目录

  • [1. 源码下载](#1. 源码下载)
  • [2. vs2022编译](#2. vs2022编译)

1. 源码下载

源码地址

2. vs2022编译

(1) 将"VS2022安装目录VC\Auxiliary\Build\"设置为PATH环境变量,启动cmd命令行(一定要先设置环境变量)。

(2)在cmd下进入VS2013安装目录vs2022\VC\Auxiliary\Build,运行vcvars64.bat文件(如果不执行这一步,后面编译openssl时会报错)

(3)进入openssl 源码路径,依次执行:

perl configure VC-WIN64A no-asm ,VC-WIN64A表示编译release版本,前面加debug-VC-WIN64A表示编译debug版本,no-asm表示NASM非必安装项。

nmake:编译

nmake test:执行自带的例子,如果通过最终会有一个pass (可以不用执行)

nmake install:生成编译结果

编译后在openssl源代码根目录下生成libcrypto_static.lib和libssl_static.lib,在include目录下有头文件。

原文链接:https://blog.csdn.net/kingsoft188/article/details/124176660

遇见的问题:

执行perl configure VC-WIN64A no-asm时,出现预先错误

Can't locate Win32/Console.pm in @INC (you may need to install the Win32::Console module) (@INC contains: C:\Perl64\site\lib C:\Perl64\lib) at C:\Perl64\lib/ActivePerl/Config.pm line 400.

解决办法:

修改C:\Perl64\site\lib\ActivePerl\Config.pm,大约在400行左右:

perl 复制代码
my $console;
sub _warn {
    # my($msg) = @_;
    # unless (-t STDOUT) {
	# print "\n$msg\n";
	# return;
    # }
    # require Win32::Console;
    # unless ($console) {
	# $console = Win32::Console->new(Win32::Console::STD_OUTPUT_HANDLE());
    # }
    # my($col,undef) = $console->Size;
    # print "\n";
    # my $attr = $console->Attr;
    # $console->Attr($Win32::Console::FG_RED | $Win32::Console::BG_WHITE);
    # for (split(/\n/, "$msg")) {
	# $_ .= " " while length() < $col-1;
	# print "$_\n";
    # }
    # $console->Attr($attr);
    # print "\n";
}

原文链接:https://blog.csdn.net/zhangzq86/article/details/105100942

相关推荐
李火火的安全圈5 小时前
【系统安全】Windows文件资源管理器欺骗漏(CVE-2025-24054、CVE-2025-50154)
windows
小陈phd12 小时前
高级RAG策略学习(一)——自适应检索系统
人工智能·windows·语言模型
初学小白...13 小时前
泛型的通配符
windows
Pocker_Spades_A18 小时前
Python快速入门专业版(一):Windows/macOS/Linux 系统环境搭建(附常见报错解决)
windows·python·macos
一心09219 小时前
SQL(window)日志在linux 下查看
linux·数据库·windows·sql·日志
私人珍藏库19 小时前
[Windows] PDF工具箱 PDF24 Creator 11.28.0
windows·pdf
勤劳打代码20 小时前
独辟蹊径 —— NSIS 自定义 EXE 应用名称
windows·flutter
深兰科技1 天前
深兰科技AI问诊助手走访打浦桥街道社区卫生服务中心
人工智能·windows·github·postman·visual studio·深兰科技·ai问诊
ajassi20001 天前
开源 C++ QT Widget 开发(十一)进程间通信--Windows 窗口通信
linux·c++·windows·qt·开源
PEI041 天前
Java集合遍历的方法有哪些
java·windows·python