1、从github下载libcurl的源代码文件,我们可以选择最新的版本下载
https://github.com/curl/curl
2、选择发布版本列表
3、选择源代码发布版本,并下载,这里下载tar.gz 压缩方式
4、下载好后,上传linux系统,找到对应的压缩包解压
tar -zxvf curl-7.87.0.tar.gz
5、进入解压缩文件夹,libcurl 支持很多组件库,我们可以根据需要选择需要的组件,也可以禁用一些用不到的组件,防止生成的库文件过大,
如果想查看支持的组件和控制命令,可以运行如下命令
./configure --help
6、一般的话,还是需要openssl组件的,因为需要https的加密方式传输,如果我们系统中安装了openssl,则可以运行如下命令
./configure --with-pic --enable-shared --disable-ldap --disable-ldaps --without-libidn --with-openssl --prefix=$HOME
我们启用了PIC 相对地址选项,输出的库包含动态、静态库,同时禁用了 ldap、IDN,启用openssl支持,需要修改的是,prefix选项指定一会curl的安装位置,当然我们也可以不进行安装。
7、如果我们系统中没有安装openssl、或者想要链接不同版本的openssl的话,则需要指定如下命令
./configure --with-pic --enable-shared --disable-ldap --disable-ldaps --without-libidn --with-ssl=/usr/local/openssl-1.0.2p --prefix=$HOME
其中 with-ssl 指定的路径为我们openssl 的位置,需要注意的是,这个路径下的openssl 库文件和头文件,应该按照如下方式放置
8、还有一种情况,比如我们openssl 的库文件和头文件放置的位置不同,则可以运行如下命令
export CPPFLAGS="-I/path/to/ssl/include"
export LDFLAGS="-L/path/to/ssl/lib"
./configure --with-pic --enable-shared --disable-ldap --disable-ldaps --without-libidn --with-openssl --prefix=$HOME
其中CPPFLAGS指定头文件路径,LDFLAGS指定库文件路径
9、然后make编译
make
这个时候我们可以直接拿来库和头文件使用了,头文件在"当前源码路径/include" 文件夹下,库文件在"当前源码目录的/lib/.libs/libcurl.a","当前源码目录的/lib/.libs/libcurl.so"
10、我们也可以安装后使用
make install
补充openssl 安装:
1、下载位置,可以从github,或者org的文件服务器,这里选择org网站
https://ftp.openssl.org/source/
2、选择对应版本,下载好后,我们上传到服务器,然后解压缩
3、在解压缩后的源码目录,运行如下命令编译,同样启用FfPIC选项
./config -fPIC
4、然后make 编译
make
5、编译后库文件在"当前源码路径/libcrypto.a", "当前源码路径/libssl.a", 头文件在"当前源码路径/include/" 下
我这里没有将openssl安装,因为系统已经有一个版本了
6、可以把这个库和头文件拷贝到我们想要的位置,以做为其它openssl版本使用,需要注意的是,拷贝时候请使用
cp -rfL
因为openssl下面的头文件是软链接,我们需要直接拷贝链接下的文件