Windows 下openssl安裝與配置

2021-07-14 09:23:48 字數 2265 閱讀 8490

** 

網上方法很多,大部分是針對32

位機的,自己的電腦因為是win7,64位,摸索了很久才安裝成功.

環境

win7, 64

位, vs2005

activeperl

配置過程中需要生成一些mak檔案,這些生成**用perl指令碼生成,所以要安裝乙個activeperl.

**: 

[css]view plain

copy

activeperl

-5.16

.2.1602

-mswin

32-x

64-296513

.msi  

activeperl-5.16

.2.1602

-mswin

32-x

86-296513

.msi  

裝的是第乙個版本,64位的。

openssl

** 我用的是openssl-0.9.8g版本,

解壓到c

盤根目錄。

安裝步驟:

(可以參照

openssl

目錄下的

install.win32)

1開啟命令列

進入openssl原始碼目錄。

cd c:/openssl-0.9.8.g

執行perl configure vc-win32

2在c:/openssl-0.9.8.g目錄執行ms\do_ms

另外兩種方式

如果使用也必須保證本機有編譯器才能使用。

:ms\do_masm

(預設vc

:ms\do_nasm

3 dos

視窗轉到c:\program files\microsoft visual studio \vc98\bin目錄(就是vc或vs對應的目錄,你電腦可能有差異) 執行

vcvars32.bat

以配置環境變數.成功後顯示如下: 4

、跳到openssl

目錄下,

編譯動態鏈結庫

cd c:/openssl-0.9.8.g

執行 >nmake -f ms\ntdll.mak

如果編譯成功,輸出在

out32dll

目錄下:包括可執行檔案、兩個

dll和兩個

lib檔案

: libeay32.dll, libeay32.lib, ssleay32.dll,ssleay32.lib

如果遇到"ml不是內部或外部命令"這樣的錯誤,找到你電腦裡的ml.exe檔案拷貝到當前目錄重新執行即可。

這裡要特別強調一下,這種方法生成的是動庫鏈結庫, 也就是我們的應用工程如果要使用openssl, 編譯時要指定

lib檔案,程式發布時要用到相應的dll. 我遇到過一種情況是, 在win7下發布的使用openssl的程式無法執行,彈出

「執行時初始化相關的錯誤」, 但是在xp下編譯,發布,在其它win7和winxp上都能執行. 估計是win7下沒配置好,導致只能本機編譯,執行,無法發布.

如果要把openssl編譯成靜態的庫,只要把上面的ntdll.mak換成nt.mak就可以了,我試著用了乙個靜態的庫,發現要解決很多編譯時的相容,衝突問題,建議不要使用靜態方法.

下面來測試一下。

建立工程

開啟vs2005,

在additionalinclude directories加上

"c:\openssl-0.9.8g\include"

這個目錄.

在additionallibrary directories加上

"c:\openssl-0.9.8g\out32dll"

這個目錄

**類似下面這樣:

[cpp]view plain

copy

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include"sm2.h"

#pragmacomment(lib,"libeay32.lib")

編譯不會有問題.

同樣在vc6下,把上面兩個目錄包含進來,編譯也通過.

在Windows下編譯OpenSSL

如何在windows下編譯openssl vs2005使用vc8的cl編譯器 1 安裝activeperl 初始化的時候,需要用到perl直譯器 2 使用vs2005下的visual studio 2005 command prompt進入控制台模式 這個模式會自動設定各種環境變數 3 解壓縮ope...

Windows下編譯安裝openssl

最近專案要用到soap程式設計,本機測試ok,但是訪問遠端主機提示tcp connect 失敗,網上說要soap ssl init soap ssl client context 但是編譯報錯,說是各種錯誤暫時歸結於openssl。於是先搭建openssl環境。本人系統 window8 64 開發環...

windows系統下openssl的編譯

遇到各種錯誤,實在考驗人的耐性,把整個詳細過程寫下來,也讓其他人好少走彎路。1 首先需要perl,安裝好perl並將bin新增到系統變數path中 2 接著是c編譯器,我電腦中安裝了vc 2010,因此就不需要再安裝,只需在使用的時候設定相應的環境變數 步驟如下 2 開啟cmd命令列,進入c ope...