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

相关推荐
yqwang_cn2 小时前
使用Python提取PDF大纲(书签)完整指南
windows·python·pdf
悦人楼3 小时前
深入理解Java集合框架:核心接口、实现类与实战选择
java·windows·python
Bruce_Liuxiaowei15 小时前
县级融媒体中心备份与恢复策略(精简版3-2-1架构)
运维·windows·网络安全·媒体
weixin_307779131 天前
Redis Windows迁移方案与测试
c++·windows·redis·算法·系统架构
陈陈爱java2 天前
实习文档背诵
linux·服务器·windows
测试界2 天前
部署Web UI自动化测试平台:SeleniumFlaskTester
windows·selenium·flask
隐-梵2 天前
2025年测绘程序设计模拟赛一--地形图图幅编号及图廓点经纬度计算
windows·经验分享·visualstudio·c#
呉師傅2 天前
奔图P2500NW打印机手机无线连接方法
运维·网络·windows·智能手机·计算机外设·电脑
许野平2 天前
Rust:如何开发32位的DLL动态库
windows·rust·动态库·dll·32位
ChinaRainbowSea2 天前
Windows 安装 RabbitMQ 消息队列超详细步骤(附加详细操作截屏)
java·服务器·windows·后端·rabbitmq·ruby