① 如何編譯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 語...