vs2008下使用libcurl
网上找了半天,总算找到一个比较好用的C++ 网络库,老实说,完全用Socket操作网络对于需要开发网络应用程序的人员来说还是很蛋疼很繁琐的。好在有这么一个给力的库。这个库的介绍可以自己百度一下,就我所知,php中貌似也有类似的库(不知道是不是同一个)。
以下是我百度到的一些有参考价值的文章:
1. LIBCURL教程
http://www.cnblogs.com/suiyingjie/archive/2012/11/12/2766332.html
2.vc中编译libcurl库详解
http://blog.csdn.net/varding/article/details/5329239
3.vs2010 vs2008 vs2005 链接libcurl静态库
http://blog.csdn.net/jwybobo2007/article/details/6975439
4.VS2005中编译libcurl静态库
http://hi.baidu.com/jjxiaoyan/item/a40e4a3ecadecec11b9696e0
5.vc2008使用libcurl静态库
http://blog.csdn.net/varding/article/details/5329023
本篇文章参考了不止以上所列出的文章,由于libcurl的更新,部分文章也就只能参考一下,并不能直接搬用。
我就以libcurl-7.31.0这个最新版本来介绍,如何编译和使用静态库,我就是在这个版本下+vs2008 sp1 win7下编译和使用成功的。
一、首先到官网下载最新版本的libcurl源代码,地址:http://curl.haxx.se/download.html,在Source Archives栏目下有各种压缩包文件,随便下载一个,内容都是一样的,就是压缩方式不同,我这里下载 curl-7.31.0.zip (gpg) (mirror) (metalink)这个压缩包。
二、解压缩压缩包,进入目录 curl-7.31.0\vs,下面有三个目录,如图:

按照自己vs版本选择一个目录,由于没有vc9的,我选择vc8,持枪直入,找到vc8libcurl.vcproj这个项目文件,直接打开,如果提示版本转换就让他转换。
三、转换后打开工程,如果直接就编译,会出“无法打开目录或文件 xxx.h”的错误,这时候需要在项目——属性中更改附加目录路径为“..\..\..\Include”,debug和release路径都一样,下图是debug的:

这时候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都要设置。
七、测试代码(网上找的)
#include "stdafx.h"
#include <Windows.h>
#include "curl/curl.h"
#pragma comment(lib,"libcurl.lib") int _tmain(int argc, _TCHAR* argv[])
{
CURL *curl;
CURLcode res; curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL, "http://2345.com/?kduba"); res = curl_easy_perform(curl);
curl_easy_cleanup(curl);
}
getchar();
return 0;
}
八、测试结果:

refer:http://aigudao.net/?post=100
vs2008下使用libcurl的更多相关文章
- Cocos发展Visual Studio下一个libcurl图书馆开发环境的搭建
我们解释win32在Visual Studio下一个libcurl图书馆开发环境的搭建.Cocos2d-x发动机实际上与Win32在访问libcurl库.Cocos2d-x 3.x在libcurl库文 ...
- Linux下编译LibCURL
编译环境 操作系统: Red Hat Enterprise Linux Server release 5.4 64-bit 编译工具: gcc (GCC) 4.1.2 20080704 (Red Ha ...
- IIS Express 及 vs2008下使用IIS Express
介绍 IIS Express 开发 ASP.NET 的应用程序是我的主要工作.当然我会选择最适合的开发环境.客户多属于企业用户,我的开发的选择,多半是 ASP.NET Web Application ...
- 【流媒體】live555—VS2008 下live555编译、使用及测试
[流媒體]live555—VS22008 下live555编译.使用及测试 Ⅰ live555简介 Live555 是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如R ...
- 闲来瞎扯 -- 在vs2008下编写linux程序
虽说vim很强大,但是个人感觉器代码提示功能不如visual assist来的强大.如何使用visual assist来实现代码的提示功能呢? 首先说明我的环境 : 宿主机是xp(O(∩_∩)O~还是 ...
- VS2008下编译BOOST 1.39的ASIO库
由于全部编译BOOST库需要的时间太长,而且耗费空间,况且我只需要用ASIO库,所以就没有必要全部编译了. boost库到www.boost.org上下载. 编译很简单,假设你的boost存放的目录是 ...
- VS2008下OpenCV1.0的设置
原地址:http://hi.baidu.com/caicai_coco/item/0f3b23e1742e3f11595dd825 1.下载安装最新的OpenCV版本,我使用的是OpenCV_1.0. ...
- VS2008下QT开发环境搭建(转)
原博文地址:http://blog.csdn.net/sunnyboycao/article/details/6364444 VS2008集成QT4.7.2环境搭建 作者:jimmy 日期:2011- ...
- linux下安装libcurl及开源库的一般安装步骤
前言 总有人说:要多看源代码!那么源代码去哪找呢?找到了又该怎么安装呢?本票博客不介绍如何使用和学习,只要讲获取和安装,以后会将curl和libevent的使用和学习. 一.开源库常用安装步骤 1.开 ...
随机推荐
- PS微观效果
贴入命令必须在建立选区的情况下,然后设置图层的混合模式为“叠加”,这个是必须的. 专业相机的移轴镜头效果很好……PS搞出的不行 原素材如下(去云台山时照的): 打开渐变工具,在快速蒙版模式下选人,然后 ...
- Expanding Rods
http://poj.org/problem?id=1 #include<cstdio> #include<cstring> #include<cmath> #in ...
- h.264 fast,1/2,1/4像素运动估计与插值处理
Hadamard Transform 在1/2,1/4像素运动估计这一阶段中,对于像素残差,可以选择采用哈达玛变换来代替离散余弦变换进行高低频的分离. 优点:哈达玛矩阵全是+1,-1,因此只需要进行加 ...
- sphinx coreseek SetSortMode(SPH_SORT_ATTR_ASC, '') 对float 排序设置bug
when I use SetSortMode(SPH_SORT_ATTR_ASC, 'floatVar'), it works unexpectedly. for example, I have a ...
- #include <sys/stat.h>的作用
#include <sys/stat.h> 文件状态, 是unix/linux系统定义文件状态所在的伪标准头文件. 含有类型与函数: dev_t st_dev Device ...
- ObjectContext
ObjectContext 类 提供用于查询和使用对象形式的实体数据的功能.它封装了与数据库的底层连接,使你能执行对象查询. ObjectContext封装 .NET Framework 和数据库之间 ...
- Java获取文件大小的正确方法(转)
Java中获取文件大小的正确方法 2014-03-28 14:03 64507人阅读 评论(9) 收藏 举报 分类: Java笔记(36) 研究成果(42) 版权声明:本文为博主原创文章,未经博 ...
- jQuery官网一个关于菜单的例子
来源地址:https://my.oschina.net/xngiser/blog/28323 <ul id="menu"> <li class="men ...
- SKTransition类
继承自 NSObject 符合 NSObject(NSObject) 框架 /System/Library/Frameworks/SpriteKit.framework 可用性 可用于iOS 7.0 ...
- Windows消息传递机制具体解释
林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka Windows是一个消息(Message)驱动系统.Windows的消息提供了应用程序之间.应 ...