libCURL开源库在VS2010环境下编译安装,配置详解 (测试通过) - Go语言中文社区

libCURL开源库在VS2010环境下编译安装,配置详解 (测试通过)



CURL开源库VS2010环境下编译安装,配置详解


一 准备

1.1 CURL官网下载地址:http://curl.haxx.se/download.html

1.2 找到源码包,我这里下载的是7.32.0版:http://curl.haxx.se/download/curl-7.32.0.zip

二 步骤

2.1

打开curl-7.32.0vsvc8libvc8libcurl.vcproj文件,VS会提示升级工程,下一步即可

VC工程里有些设置问题导致不能直接编译,需要稍作修改

2.2

打开工程属性 > CC++ > 常规 > 附加包含目录。这里的包含目录是"..include",而这个目录根本就不存在,它应该指

向"curl-7.32.0include"才对,所以把这里改成"......include"。(或者直接完整路径也可以)

 

2.3打开工程属性 > CC++ > 预处理器 > 预处理器定义。这里有个默认宏"BUILDING_LIBCURL",把它改

成"CURL_STATICLIB"。这样,那些接口函数就不会被声明为导出函数了。

 

2.4打开工程属性 > CC++ > 库管理器 > 常规 > 附加依赖项。添加ws2_32.lib和wldap32.lib,这是CURL必须依赖的。


2.5.把"libcurl.rc"从工程中移除,它只是版本信息,只会增大文件,去掉!(无所谓)


2.6 可编译出如下版本,根据需要手动设置编译

libcurld.lib //debug      Multi-threaded (/MT)
 
libcurl.dll  //release    Multi-threaded Debug (/MTd)

//以上为静态库版本,生成exe体积大,包含库。

生成两种版本的均可。但是连接使用的时候注意对应版本。


libcurld.lib //debug     Multi-threaded DLL Debug (/MDD)
 
libcurl.dll //release    Multi-threaded DLL (MD)

//以上为动态库版本,生成exe体积小,不包含库。

2.7 然后将其分别放入自己创建一个debug和一个release文件夹内、

    例如debug/libcurl.lib release//libcurl.lib
        debug/libcurl.dll release//libcurl.dll
 注意将其放入C:curl-7.32.0curl-7.32.0lib目录里面
(可以自定义,只要注意后面库包含时的变量就可以了)

2.8 创建两个环境变量 

例如 CURL_INC设置为C:curl-7.32.0curl-7.32.0include
例如 CURL_LIB设置为C:curl-7.32.0curl-7.32.0lib



三 结果测试

3.1 然后开始测试如何使用。
   
为了测试lib文件,新建一个控制台程序,

打开工程属性 > CC++ > 常规 >包含头文件$(CURL_INC)
打开工程属性 > CC++ > 常规 >包含库文件$(CURL_LIB)debug
(此处注意debug和release不同,以免影响后期工程调试)
3.2 

打开工程属性 > CC++ > 预处理器 > 预处理器定义。添加"CURL_STATICLIB"。


3.3 

添加依赖库: ws2_32.lib     wldap32.lib



3.4 找个自带的例子测试 /docs/examples/simple.c源文件

[cpp] view plaincopyprint?

  1. #include "stdafx.h"  

  2. #include <stdio.h>  

  3. #include <curl/curl.h>    

  4.   

  5. #pragma comment(lib,"libcurl.lib")  

  6.   

  7. int _tmain(int argc, _TCHAR* argv[])  

  8. {  

  9.     CURL *curl;  

  10.     CURLcode res;  

  11.   

  12.     curl = curl_easy_init();  

  13.     if(curl) {  

  14.         curl_easy_setopt(curl, CURLOPT_URL, "http://www.baidu.com");  

  15.         /* example.com is redirected, so we tell libcurl to follow redirection */  

  16.         curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);  

  17.   

  18.         /* Perform the request, res will get the return code */  

  19.         res = curl_easy_perform(curl);  

  20.         /* Check for errors */  

  21.         if(res != CURLE_OK)  

  22.             fprintf(stderr, "curl_easy_perform() failed: %sn",  

  23.             curl_easy_strerror(res));  

  24.   

  25.         /* always cleanup */  

  26.         curl_easy_cleanup(curl);  

  27.     }  

  28.     return 0;  

  29. }  

 



3.5 实例测试结果










libcurl-7.32.0 下载地址:http://download.csdn.net/detail/chuanyu/9226175





转:http://my.oschina.net/u/1420791/blog/198247

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/chuanyu/article/details/49507669
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-06-06 10:02:24
  • 阅读 ( 1237 )
  • 分类:Go开源项目

0 条评论

请先 登录 后评论

官方社群

GO教程

推荐文章

猜你喜欢