Windows&Linux 下 LibCurl 7.21.2 最新版本的编译

Share
想弄一个小玩意,为了省麻烦就采用Curl了。Libcurl是一个免费开源的客户端url传输库,支持FTP,FTPS,TFTP,HTTP,HTTPS,GOPHER,TELNET,DICT,FILE和LDAP,跨平台,支持Windows,Unix,Linux等,线程安全,支持Ipv6。并且易于使用,强大的有点让你透不过气(呵呵。。。有些夸张了)。
官方网站:http://curl.haxx.se/libcurl/  请注意,这里面的binary和devel版本相对于OS区分很细微,所以,你不想自己编译的话,就下这些有编译好了的,但是一定要记住选择正确的版本。我这里使用的源码,从windos和Unix两种系统核心说明。我这里使用 curl-7.21.2.zip 源码版本,现在很多的URL访问需要鉴权,也就是需要输入用户名和密码,如果是这样的话,你就必须使用   7.19.1 或以上的版本。

Windows (安装了VC6或者是VS2005以上的版本,我这里说的执行,全部是从命令行下执行。)

步骤一:进入解压后的 crul/lib 目录,开始设置编译环境:
如果是VC6的话,执行:
call “\path\to\Microsoft Visual Studio\VC98\Bin\vcvars32.bat”
如果是其他版本的话,执行:(以下是我的配置,请根据个人情况更改)
%comspec% /k “”D:\Microsoft Visual Studio 10.0\VC\vcvarsall.bat”” x86

步骤二:在得到正确的提示之后,就可以设置编译环境的变量了,如果你不需要zlib和openssl的支持,直接执行:
SET CFG=DEBUG-DLL(这里可以直接跳到步骤三)
如果需要zlib和openssl的支持,那些就自己去下了,有binary包也有要编译的,下下来后注意改换名称,然后执行:
SET CFG=DEBUG-DLL-SSL-DLL-ZLIB-DLL
SET OPENSSL_PATH=\PATH\TO\openssl-0.9.8b
SET ZLIB_PATH=\PATH\TO\zlib-1.23

步骤三:开始debug libcurl  执行:
nmake -f Makefile.vc10
请注意,如果你的是vc6,则这里应该将vc10改成vc6
到这里,Debug已经完成,接下来开始生成我们需要的DLL和LIB,只需要重复以上3步,将其中的DEBUG改成是RELEASE,就可以了。然后在release-dll目录下你会找到 libcurl_imp.lib 和 libcurl.dll 文件,将他们导入到你的工程即可。这里也有一个小问题,就是VS2010下编译出来的文件在共享DLL库开发的情况下,名称不对,需要的是curllib.dll,而不是libcurl.dll,这里只需要改一个名称即可,只要版本对了,其他的都没有影响。
其实,如果你是使用的VC6,就更简单了,以上三步都不要,直接打开对应的dsw文件编译一次,到Release目录下去找就OK了。因为我的是VS2010,装载VC6的项目比较麻烦,所以还是Command Line来的便捷。

Linux下也没有什么好说的,很多的发行版都提供了对应的在线安装软件,例如Fedora的yum(需要这方面的资料的话,请在本站搜索),Ubuntu的apt-get等等,直接联网安装就好,编译的话,无非也就是 configuration make&make install ,只是这里如果需要自定义的时候,注意编译的参数,例如:  需要SSL的支持的话,./configure –with-ssl=/path/to/OpenSSL 要加ZLIB的话,同理可得。。。