下载并解压curl-7.47.1
并进入解压后的目录,
首先是配置,指定生产的目录,并将不需要的功能取消,指定静态库
在命令行下输入:./configure --prefix=/data/...../result --disable-shared --enable-static --without-libidn --without-ssl --without-librtmp --without-gnutls --without-nss --without-libssh2 --without-zlib --without-winidn --disable-rtsp --disable-ldap --disable-ldaps --disable-ipv6 ;
然后编译 :make ;
之后:make install ;
将上述产生的文件夹lib和include拷贝到一个目录中,然后在该目录中找一个例子源码编译
如果用以下命令指定使用编译好的静态库编译,
gcc -o he curl_file.c -Wl,-Bstatic -L ./lib/ -lcurl -Wl,-Bdynamic -lrt
产生文件大小为36K左右, 之所以加上-Wl,-Bdynamic -lrt 是因为不加该库的话,会产生timeval.c:(.text+0x8f): undefined reference to `clock_gettime'的错误;
如果你机器中装有libcurl的动态库 那么命令 gcc -o he curl_file.c -lcurl 可以直接编译通过,文件he大小为12K左右。