环境信息:
操作系统:windows10 64位
VS版本:2012
libcurl版本:7.29.0
openssl版本:1.0.1u
编译结果:libcurl x86 支持openssl的静态链接库,openssl也是静态链接库,msvcrt运行时也是静态链接,都是release模式
一、编译openssl
0、安装nasm汇编编译器
1、先安装perl for window安装包(编译脚本perl语言写的)
2、打开VS2012 X86命令行工具,执行命令ppm install dmake 安装dmake
3、进入openssl源代码要目录
4、执行命令perl Configure VC-WIN32 no-asm
5、执行命令ms\do_ms
6、执行命令nmake -f ms\nt.mak
7、编译完成(*.lib文件在out32目录下,头文件在inc32目录下)
二、编译libcurl
|_libcurl
.......|_winbuild
|
|_deps
.....|_ lib
.....|_ include
.....|_ bin
1、将目录结构建立成上面的样式!!!非常重要!!!
2、将openssl/out32目录下的*.lib文件都复制到deps/lib目录下
3、将openssl/inc32/openssl目录下的所有文件都复制到deps/include/openssl目录下
4、打开VS2012 X86命令行工具
5、进入libcurl/winbuild目录
6、执行命令nmake /f makefile.vc mode=static WITH_SSL=static RTLIBCFG=static DEBUG=no ENABLE_SSPI=no
7、编译完成(编译结果在libcurl\builds\libcurl-vc-x86-release-static-ssl-static-ipv6-spnego目录下)
备注:当libcurl_a.lib引用项目中一起编译的时候出现"libcurl_a.lib模块对于SAFESEH 映像是不安全的"的错误,去项目属性-》配置属性-》链接器-》命令行:在【其他选项】中输入/SAFESEH:NO 即可解决