在Ubuntu和Windows上编译libcurl支持https

来源:互联网 发布:网络运维管理系统 编辑:程序博客网 时间:2024/05/17 22:28

下载libcurl:
https://curl.haxx.se/download.html
我选的curl-7.54.0.tar.gz


在Ubuntu 16.04.1上很简单:
1、安装openssl:
sudo apt-get install openssl
sudo apt-get install libssl-dev


安装默认路径:
/usr/lib/ssl


2、编译libcurl(静态编译):
进入curl解压的目录
./configure --disable-shared --enable-static --prefix=/home/mydir/src/curl_out_7.54.0 --with-ssl=/usr/lib/ssl
make & make install

在使用的时候,在gcc的链接选项中,加上:

-lz -lssl -lcrypto


在Windows上:
软件基础:
VS 2015


下载:
1、libcurl:
https://curl.haxx.se/download.html
我选的curl-7.54.0.tar.gz


2、zlib
http://www.zlib.net/
我选的1.2.11


3、openssl
https://www.openssl.org/source/old/1.0.1/
我选的1.0.1t


4、ActivePerl
http://www.activestate.com/activeperl/downloads
我选的5.24.1.2402


5、如需要nasm:
下载并安装Nasm汇编器,并将C:\Program Files\NASM添加到系统环境变量Path中
http://www.nasm.us/
我选的2.13.01


编译zlib:
打开:
zlib-1.2.11\contrib\vstudio\vc14\zlibvc.sln
根据情况选择编译的类型


编译openssl
1. 安装ActivePerl, 并添加环境变量(可以默认勾选,或者手动添加,如path=d:\perl\bin)。
2. 解压openssl。
3. 点击 windows 开始->所有应用->vs2015->开发者命令提示(Developer Command Prompt for 2015)。
4. CD到解压后的openssl的根目录。
5. 执行命令:perl Configure VC-WIN32(或者VC-WIN64A,取决于编译库类型,可以用–prefix=路径指定生成路径).
6. ms\do_ms.bat(创建makefile文件,64位需要使用ms\do_win64aA.bat)

如果编译静态库:

7. 执行nmake -f ms\nt.mak。

8. 执行nmake -f ms\nt.mak test   查看库是否有问题。

9. 执行nmake -f ms\nt.mak install 。


如果编译动态库:

7. 执行nmake -f ms\ntdll.mak           编译动态库。

8. 执行nmake -f ms\ntdll.mak test     查看库是否有问题。

9. 执行nmake -f ms\ntdll.mak install 。


安装路径:
openssl\inc32      头文件

openssl\out32      如果选择编译静态库

openssl\out32dll  如果选择编译动态库


编译libcurl with ssl:
打开:
curl-7.54.0\projects\Windows\VC14\curl-all.sln


配置include为上面libcurl头文件输出的路径。

在windows平台和linux平台,头文件有所不同,如果做跨平台,需要分别包含。

在windows平台引用静态库,一定要在预编译头里加上


CURL_STATICLIB

并且包含

libcurl.lib
ws2_32.lib
wldap32.lib

原创粉丝点击