MinGW 下编译 libcurl
来源:互联网 发布:长沙seo推广 编辑:程序博客网 时间:2024/05/16 12:48
原:http://timothyqiu.com/archives/build-libcurl-with-mingw/
(注:这篇是很久以前扔在校内的日志里的,最近整理东西又想起来,决定还是与时俱进改改之后发这里来吧……)
libcurl 是鼎鼎大名的开源客户端 URL 传输库,支持 FTP、HTTP 以及其它很多乱七八糟的协议。在各种语言上的实现也很多:C、C++、Lua、Java、Pascal、Perl、PHP、Python、Ruby、Visual Basic……。这里说最常用的 C 语言实现,环境是 Windows 7 + MinGW32。
下载 libcurl 源代码
libcurl 可以在官网 http://curl.haxx.se/ 获得。Download 页有源代码和为各平台预编译的二进制文件(curl 程序)和开发包(include + lib + doc)下载。不过我想要的 MinGW32 开发包的链接失效了 = = 就下载个源代码包自己编译吧。
在 Download 页的 Source Archives 栏里有最新的 curl 7.27.0 版本源代码压缩包,下载 curl-7.27.0.zip 文件。
编译 libcurl 库
- 解压 curl-7.27.0.zip 文件
- 通过命令提示符进入 curl-7.27.0 文件夹
- 输入
mingw32-make mingw32
进行生成(这里我只需要普通的功能,于是没有加附加的选项)
编译完成后,在 lib 文件夹中会有我们需要的三个文件。
libcurl.a
静态链接库libcurldll.a
动态链接库的导入库libcurl.dll
动态链接库
接下来,可以进入 docs/examples 文件夹,测试编译一些示例程序。可以直接用 Makefile.m32 文件,也可以手动一个个用 gcc 编译。
动态链接:
gcc -I../../include -L../../lib simple.c -lcurldll
静态链接:
gcc -I../../include -L../../lib simple.c -DCURL_STATICLIB -lcurl -lws2_32 -lwldap32
动态链接编译出的程序运行时依赖 libcurl.dll。静态链接参数中的 ws2_32
是 Windows Socket 2 库,wldap32
是微软的 Lightweight Directory Access Protocol API 库。
一般使用流程
基本的 curl 程序主要分四步:
curl_easy_init
创建 CURL 对象curl_easy_setopt
设置操作选项curl_easy_perform
进行操作curl_easy_cleanup
销毁 CURL 对象
最简单的示例可以看 doc/examples 下的 simple.c 文件,演示如何将 curl 主页内容输出到 stdout。
- MinGW 下编译 libcurl
- 使用mingw编译支持openssl 的 libcurl(windows下)
- 在MInGW环境下编译和使用libcurl静态库
- linux下编译libcurl
- Window下编译libcurl
- MinGw 下编译 FFMPEG
- MinGw 下编译 FFMPEG
- MinGw 下编译 FFMPEG
- MinGW下编译openssl
- mingw下编译protobuf
- MingW下编译openssl
- mingw下编译openssl
- MinGW与编译libcurl(附加openssl,zlib,libssh)
- Android ndk下编译libcurl
- Android ndk下编译libcurl
- Android ndk下编译libcurl
- Linux下 手动编译libcurl
- 在MinGW下编译STLport
- 2016/07/20 多线程
- Xib文件的建立与显示
- Base64小记
- iOS 边缘滑动返回
- HDOJ 2089 不要62
- MinGW 下编译 libcurl
- 开发人员的网页汇总
- Codeforces Round #363 C (Div. 2) Vacations
- HDU 5727 Necklace (二分图匹配hungary)
- 分批加载
- HDU 5733 tetrahedron
- 40.You have statistics collected for some selected tables. Your requirement is that the statistics
- 导航条菜单制作总结
- Angular__Module