编译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,之后即可安装成功。


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