自定義OpenSSL編譯輸出的DLL庫檔名稱

2021-05-11 17:06:24 字數 1356 閱讀 5674

在使用

openssl

的過程中,如果要自定義

ssleay32.dll

和libeay32.dll

的名稱不太容易,因為

configure

檔案並沒有提供相應的自定義選項,我們可以通過修改

perl

指令碼來實現:

1.修改

openssl-1.0.0-beta3/util/pl/vc-32.pl

此檔案的作用是生成

ms/ntdll.mak

,在輸出

dll名稱前加上字首「

cppx_

」:$ssl= "cppx_ssleay32";

$crypto = "cppx_libeay32";

2.修改

openssl-1.0.0-beta3/util/mkdef.pl

此檔案的作用是生成

libeay32.def

和ssleay32.def

,修改def

檔案中的

library

名稱:line:224

if (!$libname)

if ($do_crypto) }3.

修改openssl-1.0.0-beta3/ms/do_ms.bat 加上

debug

選項,在輸出庫中增加除錯資訊和

pdb檔案,以方便除錯

perl util/mkfiles.pl >minfo

perl util/mk1mf.pl debug no-asm vc-win32 >ms/nt.mak

perl util/mk1mf.pl debug dll no-asm vc-win32 >ms/ntdll.mak

if x%osversion% == x goto skipce

perl util/mk1mf.pl no-asm vc-ce >ms/ce.mak

perl util/mk1mf.pl dll no-asm vc-ce >ms/cedll.mak

:skipce

perl util/mkdef.pl 32 libeay > ms/cppx_ssleay32.def

perl util/mkdef.pl 32 ssleay > ms/cppx_libeay32.def

øperl configure vc-win32 --prefix=d:/develop/depends/openssl-1.0.0-vc90

øms/do_ms.bat

ønmake –f ms/ntdll.mak

ønmake –f ms/ntdll.mak test

ønmake –f ms/ntdll.mak install

完成!

使用自定義 OpenSSL 庫編譯 nginx

編譯安裝 nginx 時,預設使用系統自帶的 openssl 庫,但其一般很老,不支援如 sdpy 等新功能。with openssl引數雖然可以指定 openssl 路徑,但只支援 openssl 的源 不支援已編譯好的 openssl。每回更新 nginx 都要重新編譯 openssl 肯定很麻...

iOS 自定義日誌輸出

在做ios開發過程中,我們經常需要輸出日誌來檢視某些資料是否列印出來,或者檢視查個類是否被呼叫了。當前的做法是,在.pch 中,定義乙個巨集 ifdef debug 處於開發階段 define hwlog nslog va args else 處於發布階段 define hwlog endif 呼叫...

Qt自定義qDebug輸出

qdebug預設輸出字串 換行 想要輸出檔名,函式名,行號需要自定義,如下是輸出到檔案,並且列印到控制台 自定義訊息處理函式 void mymessageoutput qtmsgtype type,const qmessagelogcontext context,const qstring msg ...