編譯openssl庫時出現“error C2027: use of undefined type 'in6_addr'”的解決方法

在VC平臺下編譯openssl庫步驟如下:

1. 安裝perl,用於執行後面的編譯

2. 打開openssl所在目錄,命令行輸入perl Configure VC-WIN32 --prefix=c:\some\openssl\dir

3. makefile後,執行ms\do_nasm

4. 或者不想執行彙編語句,輸入perl Configure VC-WIN32 no-asm --prefix=c:/some/openssl/dir,

隨後makefile後執行ms\do_ms

5. 最後執行nmake -f ms\ntdll.mak,結束後即爲安裝結束

6. 可用 nmake -f ms\ntdll.mak test 測試安裝是否成功


安裝過程中可能會出現

.\apps\s_cb.c(731) : error C2027: use of undefined type 'in6_addr'
        .\apps\s_cb.c(731) : see declaration of 'in6_addr'
這是因爲IPv6出錯,解決方法爲在編譯的時候,加入-DOPENSSL_USE_IPV6=0

即爲perl Configure -DOPENSSL_USE_IPV6=0 VC-WIN32 --prefix=c:\some\openssl\dir,或者

perl Configure VC-WIN32 no-asm -DOPENSSL_USE_IPV6=0 --prefix=c:/some/openssl/dir,之後即可安裝成功。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章