在使用
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 ...