① 如何编译libcurl
1:linux下源码编译
./configure --prefix=/usr/local/curl --disable-shared --enable-static --without-libidn --without-ssl --without-librtmp --without-gnutls --without-nss --without-libssh2 --without-zlib --without-winidn --disable-rtsp --disable-ldap --disable-ldaps --disable-ipv6
注意:不需要其它功能就disable,不然会在连接时报错, 如果你没有disable掉,但你的机器上又没有安装相应的库,link时会报错。
2:windows下源码编译
libcurl 7.21以后的版本在Windows下的编译比较简单,自带了MinGW和VC环境的Makefile文件,首先去Curl官网下载源代码: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目录
② 谁能给我发个编译好的curl
邮件已发送,请查收。
直接解压到程序根目录即可。
调用时,工程要包含那个dll文件,同时程序头要有如下语句:
#include "include/curl/curl.h"
#pragma comment(lib, "lib/libcurl.lib")
#pragma comment(lib, "lib/libcurld_imp.lib")
我是[email protected]。
③ 如何使用libcurl库编译文件
我是这样编的 :
① ./configure --prefix=/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi CC=/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc --host=arm-linux
② 然后make ,
③ 接着 sudo make install
这样 就在/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/lib 下面 看到libcurl.so ,
然后我要用这个libcurl.so 交叉编译一个c文件
④ arm-none-linux-gnueabi-gcc curl3.c -o curl0 -L. -lcurl
④ 请教 如何交叉编译 libcurl-CSDN论坛
1.在 curl 官网下载最新版curl-7.31.0.tar.gz
2.解压curl-7.31.0
3.cd 到url-7.31.0 目录下
--- ./configure --prefix=/usr/local/curl --prefix 后为 要安装的目录
--- make
---sudo make install 执行install
运行以上三个命令后 /usr/local/curl目录下 出现以下四个文件夹
bin include lib share
⑤ window下开发libcurl程序,添加了curl的include,为什么报错没有定义curl
cURL本身就是用C语言写的,当然可以在C语言中使用。但是理论和实践还是有一定距离的,以前研究了好几天才研究出怎样正确的使用libcurl的C语言API,曾经也分享过,不过重建博客的时候没有备份数据库。再写一次吧。
#define CURL_STATICLIB //必须在包含curl.h前定义
#include <stdio.h>
#include "curl/curl.h"
//以下四项是必须的
#pragma comment ( lib, "libcurl.lib" )
#pragma comment ( lib, "ws2_32.lib" )
#pragma comment ( lib, "winmm.lib" )
#pragma comment ( lib, "wldap32.lib" )
int main(void)
{
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl)
{
curl_easy_setopt(curl, CURLOPT_URL,
"http://ipv6.google.com");
res = curl_easy_perform(curl);
curl_easy_cleanup(curl);
}
return 0;
}
Visual C++ 6.0下编译通过。附上我编译的libcurl.lib:
⑥ 如何安装,使用curl 7.39.0
VC6编译网络操作第三方库curl-7.39.0,支持模拟网页操作(登录,下载,上传...),但配置器环境却是问题百出,今天小编给大家介绍整过编译过程,其他VS版本也可借鉴之!
工具/原料
VC6
curl-7.39.0(http://curl.haxx.se/download.html)
方法/步骤
下载curl-7.39.0(地址:http://curl.haxx.se/download.html)
解压文件(比如,解压到D:\curl-7.39.0)
依次进入目录(D:\curl-7.39.0\projects\Windows\VC6\lib),打开VC6工程文件libcurl.dsw,这时直接编译是通不过的,会提示错误(fatal error C1189: #error : MSVC 6.0 requires "February 2003 Platform SDK" a.k.a. "Windows Server 2003 PSDK")
根据官网的提示,如果不安装Windows Server 2003 PSDK,还可以添加ALLOW_MSVC6_WITHOUT_PSDK宏,只是这样会缺失部分IDAP&IPv6支持功能
我们打开config-win32.h文件,在其文件头添加如下代码
#ifndef ALLOW_MSVC6_WITHOUT_PSDK
#define ALLOW_MSVC6_WITHOUT_PSDK
#endif
此时直接编译可能还会提示错误(error C2061: syntax error : identifier 'HCRYPTPROV'),原因是因为vc6缺省是不定义_WIN32_WINNT宏的,HCRYPTPROV需要_WIN32_WINNT支持
我们打开md5.c文件,在其文件头添加如下代码
#ifndef _WIN32_WINNT #define _WIN32_WINNT 0x0400 #endif
然后全部重建(re-building),即可编译成功,
⑦ 急求linux 下gdb编译curl
linux中的软件源码包加压后,安如下步骤操作:
./configure
make
这样源码就编译成功了,但是是使用本机编译器编译的,只能运行中上位机中。如果想运行中开发板上面,那么需要修改源码中的Makefile,改动其中的编译器。
⑧ 为什么编译好的curl静态lib用不了
你把它curl.lib引到库里面,然后只包含头文件的上级目录,原目录需要是<curl/curl.h>
1 静态库路径设置正确
2 定义CURL_STSTICLIB 解决extern函数声明问题,否则是动态库函数名称
3 增加ws2_32.lib,wldap32.lib 解决tcp通信问题
⑨ 如何重新编译安装新版本 curl
一种方式就是重新完全编译php,另一种方式就是单独编译扩展库,以extension的形式扩展。 下面以安装curl扩展为例: 1、下载curl安装包。
⑩ 如何启用curl命令HTTP2支持
使用如下命令我们可以看到 curl 版本: curl --version 从上图中,我们可以看到当前 curl 的版本及支持的协议以及功能特性没有支持 HTTP2。 启用curl命令HTTP2支持 编译安装nghttp2 为了让 curl 支持 HTTP2 我们需要安装 nghttp2(http2 的 C 语...