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.开 ...
随机推荐
- 转:如何创建.htaccess文件
方法1.开始-运行-键入cmd,打开cmd窗口 此时的cmd窗口路径是C:\Documents and Settings\username> 键入以下(不包括括号内信息): copy con . ...
- .net反射详解
前言 之所以要写这篇关于C#反射的随笔,起因有两个: 第一个是自己开发的网站需要用到 其次就是没看到这方面比较好的文章. 所以下定决心自己写一篇,废话不多说开始进入正题. 前期准备 在VS20 ...
- 【JavaScript】JavaScript教程之------------------JavaScript实现
JavaScript的核心ECMAScript描述了该语言的语法与基本对象: DOM描述了处理网页内容的方法和接口: BOM描述了与浏览器进行交互的方法和接口: 完整的JavaScript实现是由以下 ...
- 《简明python教程》学习笔记,长文
引号: 单引号:如果包含的字符串里有单引号的话,需要在那个单引号里加转义符号,或者使用双引号 例:print 'he"llo' or print 'he\'llo' ===> h ...
- 配置Session变量的生命周期
在Web.config文件中配置Session变量的生命周期是在<sessionState></sessionState>节中完成的,在配置Session的生命周期时,可以设置 ...
- linux shell 终端中文乱码(转)
方法一:修改/etc/sysconfig/i18n 文件把里面的LANG="en_US"改成 GB2312就可以了要重启一下机器不用重启的方法,直接# LANG="GB2 ...
- BZOJ3709: [PA2014]Bohater
3709: [PA2014]Bohater Time Limit: 5 Sec Memory Limit: 128 MBSec Special JudgeSubmit: 339 Solved: ...
- POJ 1502 MPI Maelstrom( Spfa, Floyd, Dijkstra)
题目大意: 给你 1到n , n个计算机进行数据传输, 问从1为起点传输到所有点的最短时间是多少, 其实就是算 1 到所有点的时间中最长的那个点. 然后是数据 给你一个n 代表有n个点, 然后给你一 ...
- HDOJ 2089 不要62(打表)
Problem Description 杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer). 杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来 ...
- UVA127- "Accordian" Patience(模拟链表)
"Accordian" Patience You are to simulate the playing of games of ``Accordian'' patience, t ...