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.开 ...
随机推荐
- Nginx 基本配置和日志分析
最近在维护的一个项目,路由转发规则都统一通过Nginx转发,所以再次参考部分博文和书本,熟悉Nginx的基本配置,还有一个重点也是日志的分析 Nginx 常用模块是server块,location块. ...
- 利用Tree命令生成磁盘文件列表
命令原型:D:/>tree /? 以图形显示驱动器或路径的文件夹结构.TREE [drive:][path] [/F] [/A]/F 显示每个文件夹中文件的名称./A 使用 ASCII 字符,而 ...
- 启动Activity但不显示其界面
最近在工作中做了一个很简单的任务,制作一个apk,点击该app链接到某一个网站. 代码很简单,只有如寥寥几行: (browser.java) package com.test.browser; ...
- Codeforces Round #312 (Div. 2)小结
爆炸了爆炸了...E题一个裸线段树没打完,A题wa了半天...... 爆炸了爆炸了....爆炸了爆炸了....rank270+滚粗 以后还是得多做模拟题...
- 【转】设置TextView文字居中
原文网址:http://blog.csdn.net/lanpy88/article/details/6616924 有2种方法可以设置TextView文字居中: 一:在xml文件设置:android: ...
- 绘图(CGContext)
转自 http://blog.csdn.net/zhenyu5211314/article/details/24230581 0 CGContextRef context = UIGraphicsGe ...
- jQuery中bind,live,delegate与one方法的用法及区别解析
bind( )方法用于将一个处理程序附加到每个匹配元素的事件上并返回jQuery对象. .bind(eventType[, evnetData], Handler(eventObject)) 其中,参 ...
- Linux2.6内核--VFS层中和进程相关的数据结构
系统中的每一个进程都有自己的一组打开的文件,像根文件系统,当前工作目录,安装点等.有三个数据结构将 VFS 层和系统的进程紧密的联系在一起,它们分别是: file_struct,fs_st ...
- jQuery on()绑定动态元素出现的问题小结
jQuery on()方法是官方推荐的绑定事件的一个方法.使用 on() 方法可以给将来动态创建的动态元素绑定指定的事件,通过本文给大家介绍jQuery on()绑定动态元素出现的问题小结,需要的朋友 ...
- JS中字符串倒序的两种方法
var reverse = function( str ){ var stack = [];//生成一个栈 for(var len = str.length,i=len;i>=0;i-- ){ ...