libcurllinux編譯
① 如何編譯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官網下載源代碼: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的全部文件,下面新建一個測試程序main.c
② 如何在LINUX下安裝libcurl-Linux新手園地
你用的哪個發行版,如果不知道哪個發行版,通用的辦法就是下載curl的源碼自己編譯
③ 求助.編譯libcurl+ssl的時候一直不支持ssl-CSDN論壇
原因是Linux有一個SELinux保護模式引起的。1.關閉SELINUX的方法:vi/etclinux/config將SELINUX=enforcing改成SELINUX=disabled需要重啟2.不關閉SELINUX的方法:#setenforce0#chcon-c-v-R-usystem_u-robject_r-ttextrel_shlib_t/usr/local/apache/moles/libphp5.so#servicehttpdrestart#setenforce1
④ linux環境下c 怎麼靜態連接到libcurl
gcc 編譯時加參數 -static, 默認是動態鏈接的
⑤ 為什麼編譯好的libcurl靜態lib用不了
When building an application that uses the static libcurl library, you must
add -DCURL_STATICLIB to your CFLAGS. Otherwise the linker will look for
dynamic import symbols. If you get linker error like "unknown symbol
__imp__curl_easy_init ..." you have linked against the wrong (static)
library. If you want to use the libcurl.dll and import lib, you don't need
any extra CFLAGS, but use one of the import libraries below
在這里:http://curl.haxx.se/docs/faq.html#Link_errors_when_building_libcur
所以我們這樣來改
菜單-->project -->settings-->C++選項卡的General裡面的Project Option裡面加上-DCURL_STATICLIB (其實就相當於在Preprocessor definitions裡面加上CURL_STATICLIB一樣)
確定-->rebuild all
又出錯了:
libcurl.lib(easy.obj) : error LNK2001: unresolved external symbol
libcurl.lib(telnet.obj) : error LNK2001: unresolved external symbol
libcurl.lib(easy.obj) : error LNK2001: unresolved external symbol
.....
這個一看就明白了馬上加上:
#pragma comment ( lib, "ws2_32.lib" )
#pragma comment ( lib, "wldap32.lib" )
編譯-->叮的一個美妙的聲音想起了,哈哈,編譯成功
⑥ linux下libcurl安裝說明及樣例誰有嗎
你要是從源代碼編譯安裝看這個:
http://www.linuxfromscratch.org/blfs/view/svn/basicnet/curl.html
你要是直接用系統已經編譯好的程序,請看你的發行版使用說明。
⑦ linux編libcurl庫時依賴openssl怎麼編
如果你在編譯時遇到這個錯誤,這可能是下面的原因:你嘗試編譯的程序使用OpenSSL,但是需要和OpenSSL鏈接的文件(庫和頭文件)在你Linux平台上缺少。
要解決這個問題,你需要安裝OpenSSL 開發包,這在所有的現代Linux發行版的標准軟體倉庫中都有。
要在Debian、Ubuntu或者其他衍生版上安裝OpenSSL:
復制代碼
代碼如下:
$ sudo apt-get install libssl-dev
⑧ 如何使用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
⑨ linux 編譯compat-wireless-3.1-rc1-1時的問題
簡單的步驟在ubuntu(hardy)里安裝google-gadgets:
1. wget
2. tar zxvf google-gadgets-for-linux-0.9.1.tar.gz
3. cd google-gadgets-for-linux-0.9.1/
4. sudo apt-get install zlib1g-dev libmozjs-dev libcurl4-openssl-dev libxml2-dev libdbus-1-dev libmozjs-dev libgstreamer-plugins-base0.10-dev libcurl3-openssl-dev libdbus-1-dev libxul-dev libcurl3 libcurl3-dbg libcurl3-gnutls libcurl4-openssl-dev libcurl-ocaml libmozjs0d libmozjs0d-dbg libmozjs-dev g++-4.2-multilib g++ libqt4-dev
5. sudo ldconfig
6. ../../configure --enable-debug
7. sudo make install
(或者不用sudo,而是設置另一個安裝目錄,不同於默認的/usr/local)
1. export LD_LIBRARY_PATH=/usr/local/lib
2. ggl-gtk
⑩ libcurl是什麼語言開發的
libcurl是C語言開發的網路庫,支持多種網路協議.
有很多種不同的方式來編譯C語言代碼。這里使用UNIX平台下的編譯方式。即使你使用的是其他的操作系統,你仍然可以通過閱讀本文檔來獲取許多有用的信息。
編譯
你的編譯器必須知道libcurl頭文件的位置。所以在編譯的時候,你要設置頭文件的包含路徑。可以使用curl-config工具來獲取這方面的信息:
$ curl-config –cflags
鏈接
編譯完源碼(這時的源代碼不是指libcurl的源代碼,你是你自己寫的程序代碼)之後,你還必須把目標文件鏈接成單個可執行文件。你要鏈接libcurl庫,以及libcurl所依賴的其他庫,例如OpenSLL庫。當然可能還需要一些其他的操作系統庫。最後你還要設置一些編譯選項,當然可以使用curl-config工具簡化操作:
$curl-config –libs
是否使用SSL
定製編譯libcurl。與其他庫不同的是,libcurl可以定製編譯,根據實際需要是否支持某些特性,如是否支持SSL傳輸,像HTTPS和FTPS。如果決定需要支持SSL,必須在編譯時正確的設置。可以使用』curl-config』來判斷libcurl庫是否支持SSL:
$ curl-config –feature