curl
博客专区 > Rechy 的博客 > 博客详情
curl
Rechy 发表于4年前
curl
  • 发表于 4年前
  • 阅读 69
  • 收藏 0
  • 点赞 0
  • 评论 0

【腾讯云】新注册用户域名抢购1元起>>>   

摘要: curl库mingw下编译

http://curl.haxx.se/download.html

有已生成的
Win64 - MinGW64版

源文件编译





在MInGW环境下编译和使用libcurl静态库

libcurl 7.21以后的版本在Windows下的编译比较简单,自带了MinGW和VC环境的Makefile文件,首先去Curl官网下载源代码:http://curl.haxx.se/download.html,任选一个下载即可,推荐这个: curl-7.21.2.tar.gz,下载完成后解压开,打开命令行进入curl源码目录,(在此之前请先设置好MinGW的环境变量):
cd curl-7.21.2
编译libcurl库文件:
cd lib
make -f Makefile.m32
等待编译完成即可
编译curl可执行文件:
cd ../src
make -f Makefile.m32
一会儿就编译完成了

编译完成后,我们需要复制include头文件和库文件到一个目录供程序开发用
1. 新建curllib目录
2. 新建curllib/include目录,将源代码include目录里的curl文件夹复制到curllib/include目录,这些是使用libcurl需要的头文件
3. 新建curllib/lib目录,将源代码lib目录里编译好的库文件libcurl.a,libcurldll.a,libcurl.dll复制到curllib目录
4. 将MinGW安装目录下lib文件夹里的libwldap32.a和libws2_32.a复制到curllib/lib目录

至此,curllib就是我们开发中要使用到的libcurl的全部文件,下面新建一个测试程序,假设文件名为curltest.c,代码如下:

—-

010203040506070809101112131415161718#include <stdio.h>#include <curl/curl.h>intmain(void){CURL *curl;CURLcode res;curl = curl_easy_init();if(curl) {curl_easy_setopt(curl, CURLOPT_URL, "www.google.com");res = curl_easy_perform(curl);/* always cleanup */curl_easy_cleanup(curl);}return0;}



方法一、命令行编译使用licurl的程序
假设测试代码curltest.c位于e:/project
假设curllib文件夹的位置为c:/curllib
命令行运行下列命令编译这个测试程序:
cd e:/project
gcc -I. -Ic:/curllib/include -g -O2 -DCURL_STATICLIB -c curltest.c
gcc -s -o curltest.exe curltest.o -Lc:/curllib/lib -lcurl -lwldap32 -lws2_32
这时可以看到curltest.c目录下生成了一个curltest.exe文件
接着在命令行输入:
curltest.exe
如果看到命令行窗口输出一些HTML代码,就表示编译成功

方法二、Code::Blocks中使用libcurl静态库
1. 新建工程,在工程里添加代码同上的curltest.c文件
2. 将上面curllib/include目录下的curl文件夹复制到MinGW安装目录的include目录
3. 工程名上右键打开Build Options选项,在Compiler Settings选项卡下的#defines里面输入CURL_STATICLIB,(这表示使用静态库)
4. 在Linker Settings选项卡下面的link libraries里添加上面curllib/lib目录里的四个文件:
C:\curllib\lib\libcurl.a
C:\curllib\lib\libcurldll.a
C:\curllib\lib\libwldap32.a
C:\curllib\lib\libws2_32.a
然后回到工程页面,点击Build即可

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 2
博文 30
码字总数 5766
×
Rechy
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: