windows編譯openssl(64位)一游


編譯openssl,一套標准流程:

(環境:  win10 64位os, vs2019)

需要的工具:perl     nasm   openssl源碼包

1  安裝perl

2  下載nasm,將nasm配置到path環境變量

     openssl要用到perl,而perl依賴nasm

3   解壓openssl源碼包

4   開始菜單->visual studio 2009->x64 Native Tools Command Prompt for VS 2019->右鍵選擇更多->以管理員身份運行

5   cd 到解壓的openssl源碼目錄

6   perl Configure VC-WIN64A  --prefix=C:\Source\vs2019_64\openssl

     --prefix 可以指定openssl的生成目錄

7   nmake

8   nmake install

9   nmake test

 

正片來了,在編譯的過程中遇到的問題:

問題一:nmake報錯   fatal error LNK1112: 模塊計算機類型“x64”與目標計算機類型“x86”沖突

 

 

解決:輸入 nmake clean 解決,應該是openssl中有殘余32位的編譯數據

 

問題二:nmake報錯 fatal error U1077: “cl”: 返回代碼“0x2”

 

 

 

 

 

 

 

 

 

解決:改名后報錯解決

 

問題三:fatal error U1073: 不知道如何生成“"crypto\rc4\asm\rc4-md5-x86_64.pl"”

 

 

解決:按路徑打開crypto\rc4\asm\rc4-md5-x86_64.pl后發現是名字多了一個(1),改掉后重試

接下來還有

問題四:。。。

問題五:。。。

問題六:。。。

問題七:。。。

。。。

 

有完沒完啦!!!

 

為什么問題這么多呢,我思考了一下,我的openssl是找的網盤里下載的。下載的時候有壓縮包,還有一個解壓好的文件,我就直接用這個解壓的openssl文件夾了,肯定是這個解壓縮的文件夾有問題,果斷放棄,把壓縮包重新解壓了一份,對比發現原來的openssl文件夾不光有命名錯誤還少文件,這才是問題的根源啊。不過正好借此機會,在解決問題的過程中,學到了不少知識,鍛煉了解決問題的思路,還是挺值的。

 

加餐:

知識一

開始菜單-》visual studio 2009-》右鍵-》更多-》打開文件位置

 

 

 

 

 

知識二:error LNK1112: 模塊計算機類型“X64”與目標計算機類型“x86”沖突”,vs中配置修改。

1、右擊該項目,選擇屬性,在最上面點擊 “配置管理器”,新建平台 “x64”,然后把 X64,點擊關閉。

2、在屬性頁選擇 “鏈接器” —>“高級”,在里邊有一項名為目標計算機,將其改為:MachineX64 (/MACHINE:X64) ,然后點擊確定。

知識點三:把此過程放入一個批處理文件      build_openssl_vs2019_64.bat

    使用管理員權限運行,回到C:\Windows\System32\下    所以cd要使用絕對路徑

 

 

@echo "start  openssl"
set VS="C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvars64.bat"
set OUT="C:\Source\libeventOut\out\vs2019_64\openssl"
call %VS%
cd C:\Source\libeventLearn\openssl\openssl-1.1.1
perl Configure VC-WIN64 --prefix=%OUT%
nmake clean
nmake
nmake install
@echo "end openssl"
pause

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM