我使用的是libcurl-7.31.0这个版本来介绍,如何编译和使用静态库,我的VS2008版本是sp1 ,同时电脑是win10 +64位系统。
一、首先到官网下载最新版本的libcurl源代码,地址:http://curl.haxx.se/download.html。
二、解压缩压缩包,进入目录 curl-7.31.0\vs,下面有三个目录,如图:
按照自己vs版本选择一个目录,由于没有vc9的,我选择vc8,持枪直入,找到vc8libcurl.vcproj这个项目文件,直接打开,如果提示版本转换就让他转换。
三、转换后打开工程,如果直接就编译,会出“无法打开目录或文件 xxx.h”的错误,这时候需要在项目——属性中更改附加目录路径为“..\..\..\Include”,debug和release路径都一样,下图是Release的:
这时候Debug和Release编译就可以在 curl-7.31.0\vs\vc8\lib目录下的Debug和Release下分别生成对应版本的lib文件。
四、使用静态库。新建一个控制台工程。将curl-7.31.0\include下的cur目录拷贝到工程cpp所在目录下,在工程文件xxx.sln文件所在目录下建立两个文件夹,Debug和Release(就是编译后生成exe的文件夹,由于还没有编译过,所以还没有这些文件夹)如图:
将curl-7.31.0\vs\vc8\lib\Debug(Release)下生成的vc8libcurl.lib文件分别拷贝到刚刚新建的对应文件夹中,然后在工程的项目——属性中将附加库目录修改为“..\Debug和..\Release”(当然拷贝到其他文件夹也可以,不设置附加目录也行,只要程序编译的时候能找到就行了)。
五、给工程添加依赖的库:项目->属性->链接器->输入->附加依赖项,把ws2_32.lib winmm.lib wldap32.lib添加进去
六、加入预编译选项:项目->属性->c/c++ ->预处理器->预处理器,把 ;BUILDING_LIBCURL;HTTP_ONLY复制进去(注意不要丢了";")
注意:五六两个步骤在Debug和Release都要设置。