libcurl默认编译是不带ssl功能的,在访问https网站时就会报错。如果需要增加ssl功能,那么在编译时就要做一些配置。
1.编译openssl的库文件
1.1 准备编译环境
首先下载openssl程序,可以从www.openssl.org下载。
安装perl,windows环境下可以用ActivePerl,linux环境自带perl。
安装visual studio。
1.2 执行编译,以下操作都在vs的本机工具命令提示中执行
cd 到 openssl的程序目录
perl Configure no-asm VC-WIN32 (release版本)
如果需要编译debug版本,需要将ms\do_ms的第三行和第四行改为:
perl util\mk1mf.pl no-asm debug VC-WIN32 >ms\nt.mak
perl util\mk1mf.pl dll no-asm debug VC-WIN32 >ms\ntdll.mak
再下一步执行:
ms\do_ms
编译静态库执行:nmake -f ms\nt.mak
编译动态库执行:nmake -f ms\ntdll.mak
等待编译完成,静态库会生成out32文件夹,动态库会生成out32dll文件夹,库文件在这两个文件夹里,名字是libeay32.lib 和 ssleay32.lib。
同时会生成inc32/openssl的文件夹,这里面是头文件,编译libcurl时需要引用这个文件夹里的头文件。
2.编译libcurl库文件
需要注意libcurl的库跟openssl的库要保持一致,既静态/动态(MT/MD),debug/release(MTd/MDd)的选择要一样。
2.1curl的程序文件夹下面有个vs\vc8\lib的文件夹,里面有vs2008的工程文件,如果用vs2008以上的版本,可以直接打开这个文件,会提示升级,一路升级就可以。
2.2修改工程选项:
预处理器定义中增加 USE_SSLEAY;USE_OPENSSL;
头文件包含目录增加第一步中生成的 inc32/openssl
引用库增加libeay32.lib;ssleay32.lib
2.3 执行编译