windows 平臺編譯openssl

文章目錄

  • 準備環境
    • 安裝perl
    • 安裝NASM
    • 獲取源碼
  • 源碼編譯
    • 配置
    • 編譯

準備環境

安裝perl

下載Perl 5.40.0.1 Portable zip
strawberryperl

解壓后設置系統環境變量
測試安裝是否成功

perl --versionThis is perl 5, version 40, subversion 0 (v5.40.0) built for MSWin32-x64-multi-threadCopyright 1987-2024, Larry WallPerl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at https://www.perl.org/, the Perl Home Page.

安裝NASM

nasm官網
nasm-2.16.03-win64

下載解壓后要加入系統環境變量中

獲取源碼

openssl官網
openssl源碼3.4.1

源碼編譯

配置

打開VS2019 開發人員命令提示符?

  • x64 Native Tools Command Prompt for VS 2019
  • x86 Native Tools Command Prompt for VS 2019

正確安裝了VisualStudio2019的話可以在win菜單中打到,可以在win任務欄的搜索中搜到

進入openssl 源碼目錄

E:
cd E:\openssl\openssl-3.4.1# 64位動態庫(默認)
perl Configure VC-WIN64A --prefix=D:\openssl-output
# 32位靜態庫(無匯編優化)
perl Configure VC-WIN32 no-asm --prefix=D:\openssl-output[2,7](@ref)

?關鍵參數說明:

  • –prefix:指定輸出目錄(默認安裝到系統路徑)。
  • no-asm:禁用匯編優化(避免 NASM 依賴問題)。
  • no-shared:生成靜態庫(.lib 而非 .dll)。

使用64位編譯,輸出

perl Configure VC-WIN64A --prefix=D:\openssl-output
Configuring OpenSSL version 3.4.1 for target VC-WIN64A
Using os-specific seed configuration
Created configdata.pm
Running configdata.pm
Created makefile.in
Created makefile
Created include\openssl\configuration.h**********************************************************************
***                                                                ***
***   OpenSSL has been successfully configured                     ***
***                                                                ***
***   If you encounter a problem while building, please open an    ***
***   issue on GitHub <https://github.com/openssl/openssl/issues>  ***
***   and include the output from the following command:           ***
***                                                                ***
***       perl configdata.pm --dump                                ***
***                                                                ***
***   (If you are new to OpenSSL, you might want to consult the    ***
***   'Troubleshooting' section in the INSTALL.md file first)      ***
***                                                                ***
**********************************************************************

編譯

然后可以nmake

nmake      # 僅編譯
nmake test # 運行測試(可選,確保功能正常)
nmake install  # 安裝到 --prefix 指定目錄[3,8](@ref)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/72842.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/72842.shtml
英文地址,請注明出處:http://en.pswp.cn/web/72842.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

一文了解ThreadLocal

什么是ThreadLocal&#xff1f; ThreadLocal是每個線程私有的&#xff0c;線程可以把自己的私有數據放到ThreadLocal里面&#xff0c;不用擔心其他線程訪問到自己ThreadLocal。 通過set()方法將值存入ThreadLocal或者修改值&#xff0c;get()方法取出值&#xff0c;remove()方…

OpenWrt開發第6篇:怎么添加OpenWrt的Package-基于Raspberry Pi 4B開發板

文/指尖動聽知識庫-谷谷 文章為付費內容,商業行為,禁止私自轉載及抄襲,違者必究!!! 文章專欄:Openwrt開發-基于Raspberry Pi 4B開發板 1.如圖1所示,首先創建軟件包所在的目錄,在openwrt根目錄中執行mkdir -p package/mypackages/helloworld命令;

常?CMS漏洞之一:WordPress

WordPress是?個以PHP和MySQL為平臺的?由開源的博客軟件和內容管理系統。WordPress具有插件架構和模板系統。截?2018年4?&#xff0c;排名前1000萬的?站中超過30.6%使?WordPress。 WordPress是最受歡迎的?站 內容管理系統。全球有?約30%的?站(7億5000個)都是使?WordP…

【第17節】windows sdk編程:線程與線程調度

目錄 一、線程 1.1 線程的基本概念 1.2 何時創建線程 二、線程控制 三、遍歷線程 四、線程內核對象 4.1 線程上下文 4.2 暫停次數 4.3 信號 五、線程調度 5.1 什么是線程優先級 5.2 進程優先級與相對線程優先級 5.3 編程改變優先級 5.4 動態優先級的概念 一、線程…

Python數據可視化實戰:從基礎圖表到高級分析

Python數據可視化實戰&#xff1a;從基礎圖表到高級分析 數據可視化是數據分析的重要環節&#xff0c;通過直觀的圖表可以快速洞察數據規律。本文將通過5個實際案例&#xff0c;手把手教你使用Python的Matplotlib庫完成各類數據可視化任務&#xff0c;涵蓋條形圖、堆積面積圖、…

【機器學習-分類算法】

比如將一張圖片按尺寸識別分類為橫向或者縱向兩類就是二分類問題 設x軸為圖像的寬、y軸為圖像的高&#xff0c;那么把訓練數據展現在圖上就是這樣的: 若增加更多的數據集有: 如果只用一條線將圖中白色的點和黑色的點分開,那么: 分類的目的就是找到這條線,就可以根據點在線…

Compose Indication:點擊效果設置

Compose Indication&#xff1a;打造獨特點擊效果的秘密武器 在Compose開發中&#xff0c;大家可能都碰到過Indication&#xff0c;不少人第一次接觸它&#xff0c;是在想去掉Material默認的點擊水波紋效果的時候。要是在AI工具里搜“怎么去掉水波紋效果”&#xff0c;會得到這…

Docker build 會在本地產生巨大的文件

Docker build 會在本地產生巨大的文件&#xff0c; 比如 用 這個命令列出本地鏡像 docker images 可見size都是很大的&#xff0c; 到docker目錄下&#xff0c;看到ext4.vhdx的大小 80多G 那只能用這個命令把不用的鏡像刪掉了&#xff1a; &#xff08;rmi后面是鏡像id&a…

臺式機電腦組裝---電腦機箱與主板接線

臺式機電腦組裝—電腦機箱與主板接線 1、機箱連接主板的跳線一般主要有USB 2.0、USB 3.0、前置音頻接口(HD_AUDIO)以及POWER SW、RESET SW、POWER LED、HDD LED四個主板跳線&#xff0c;這些跳線分別的含義如下。 RESET SW&#xff1a;機箱重啟按鍵&#xff1b;注&#xff1a…

【虛幻引擎UE5】SpawnActor生成Character實例不執行AI Move To,未初始化AIController的原因和解決方法

虛幻引擎版本&#xff1a;5.5.4 問題描述 剛創建的Third Person項目里&#xff0c;定義一個BP_Enemy藍圖&#xff0c;拖拽到場景中產生的實例會追隨玩家&#xff0c;但SpawnActor產生的實例會固定不動。BP_Enemy藍圖具體設計如下&#xff1a; BP_Enemy的Event Graph ?? 又定義…

跨平臺RTSP高性能實時播放器實現思路

跨平臺RTSP高性能實時播放器實現思路 目標&#xff1a;局域網100ms以內超低延遲 一、引言 現有播放器&#xff08;如VLC&#xff09;在RTSP實時播放場景中面臨高延遲&#xff08;通常數秒&#xff09;和資源占用大的問題。本文提出一種跨平臺解決方案&#xff0c;通過網絡層…

HTTP 失敗重試(重發)方案

在 Qt 網絡開發中&#xff0c;使用 QNetworkAccessManager 進行 HTTP 請求時&#xff0c;可能會遇到網絡超時、服務器錯誤等情況。為了提高請求的可靠性&#xff0c;可以實現 HTTP 失敗重試&#xff08;重發&#xff09; 機制。下面介紹幾種常見的 失敗重發方案&#xff1a; 單…

大白話詳細解讀React框架的diffing算法

1. Diffing 算法是什么&#xff1f; Diffing 算法是 React 用來比較虛擬 DOM&#xff08;Virtual DOM&#xff09;樹的一種算法。它的作用是找出前后兩次渲染之間的差異&#xff08;diff&#xff09;&#xff0c;然后只更新這些差異部分&#xff0c;而不是重新渲染整個頁面。 …

【Linux內核系列】:動靜態庫詳解

&#x1f525; 本文專欄&#xff1a;Linux &#x1f338;作者主頁&#xff1a;努力努力再努力wz &#x1f4aa; 今日博客勵志語錄&#xff1a; 有些鳥兒是注定是關不住的&#xff0c;因為它們的每一片羽翼都沾滿了自由的光輝 ★★★ 本文前置知識&#xff1a; 編譯與鏈接的過程…

深度解讀DeepSeek部署使用安全(48頁PPT)(文末有下載方式)

深度解讀DeepSeek&#xff1a;部署、使用與安全 詳細資料請看本解讀文章的最后內容。 引言 DeepSeek作為一款先進的人工智能模型&#xff0c;其部署、使用與安全性是用戶最為關注的三大核心問題。本文將從本地化部署、使用方法與技巧、以及安全性三個方面&#xff0c;對Deep…

【詳細解決】pycharm 終端出現報錯:“Failed : 無法將“Failed”項識別為 cmdlet、函數、腳本文件或可運行程序的名稱。

昨天在終端一頓操作后突然打開pycharm時就開始報錯&#xff1a; 無法將“Failed”項識別為 cmdlet、函數、腳本文件或可運行程序的名稱。請檢查名稱的拼寫&#xff0c;如果包括路徑&#xff0c;請確保路徑正確&#xff0c;然后再試一次。 所在位置 行:1 字符: 1 Failed to act…

【電路筆記】-D型觸發器

D型觸發器 文章目錄 D型觸發器1、概述2、主從D觸發器3、使用D型觸發器進行分頻4、D觸發器作為數據鎖存器5、透明數據鎖存器6、總結D型觸發器是一種改進的置位-復位觸發器,通過增加一個反相器來防止S和R輸入處于相同的邏輯電平。 1、概述 D型觸發器克服了基本SR NAND門雙穩態電…

智慧共享桿:城市智能化管理的 “多面手”

智慧共享桿&#xff1a;城市智能化管理的 “多面手” 在智慧城市建設的進程中&#xff0c;智慧共享桿憑借其多功能與集約化的特性&#xff0c;逐漸成為城市基礎設施建設領域的重點關注對象。它不僅革新了傳統路燈桿的固有模式&#xff0c;更為城市的高效管理與便捷服務開創了全…

【Tips】pip臨時換源

pip換源網站 用法&#xff1a; pip install xxx庫 -i https://pypi.tuna.tsinghua.edu.cn/simple https://pypi.tuna.tsinghua.edu.cn/simplehttps://mirrors.aliyun.com/pypi/simplehttps://pypi.douban.com/simplehttps://pypi.mirrors.ustc.edu.cn/simplehttps://mirrors.…

AcWing 838:堆排序 ← 數組模擬

【題目來源】 https://www.acwing.com/problem/content/840/ 【題目描述】 輸入一個長度為 n 的整數數列&#xff0c;從小到大輸出前 m 小的數。 【輸入格式】 第一行包含整數 n 和 m。 第二行包含 n 個整數&#xff0c;表示整數數列。 【輸出格式】 共一行&#xff0c;包含…