編譯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
