導航:首頁 > 源碼編譯 > libcurl編譯

libcurl編譯

發布時間:2022-01-14 17:16:54

『壹』 如何編譯libcurl

1. android
1.1配置
將curl源文件加到在Android源代碼external/curl/中。創建shell腳本configure.sh,並把它放到external/curl/中。
腳本內容如下:
#!/bin/sh SDK_ROOT=/home/nudtzxm/android_sdk export PATH="$SDK_ROOT/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin:$PATH" ./configure --host=arm-linux CC=arm-eabi-gcc \ CPPFLAGS="-I $SDK_ROOT/system/core/include -I $SDK_ROOT/hardware/libhardware/include -I $SDK_ROOT/hardware/libhardware_legacy/include -I $SDK_ROOT/hardware/ril/include -I $SDK_ROOT/dalvik/libnativehelper/include -I $SDK_ROOT/frameworks/base/include -I $SDK_ROOT/frameworks/base/opengl/include -I $SDK_ROOT/external/skia/include -I $SDK_ROOT/out/target/proct/generic/obj/include -I $SDK_ROOT/bionic/libc/arch-arm/include -I $SDK_ROOT/bionic/libc/include -I $SDK_ROOT/bionic/libstdc++/include -I $SDK_ROOT/bionic/libc/kernel/common -I $SDK_ROOT/bionic/libc/kernel/arch-arm -I $SDK_ROOT/bionic/libm/include -I $SDK_ROOT/bionic/libm/include/arch/arm -I $SDK_ROOT/bionic/libthread_db/include -I $SDK_ROOT/bionic/libc/kernel/common -I $SDK_ROOT/bionic/libc/kernel/arch-arm -I $SDK_ROOT/system/core/libcutils -I $SDK_ROOT/out/target/proct/generic/obj/STATIC_LIBRARIES/libcutils_intermediates -I $SDK_ROOT/out/target/proct/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates -I $SDK_ROOT/system/core/include/arch/linux-arm/ -include $SDK_ROOT/system/core/include/arch/linux-arm/AndroidConfig.h" \ CFLAGS="-nostdlib -fno-exceptions -fpic -ffunction-sections -funwind-tables -fstack-protector -fno-short-enums -Wno-multichar -msoft-float -march=armv5te -mtune=xscale -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ -mthumb-interwork -DANDROID -fmessage-length=0 -W -Wall -Wno-unused -Winit-self -Wpointer-arith -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -DSK_RELEASE -DNDEBUG -g -Wstrict-aliasing=2 -finline-functions -fno-inline-functions-called-once -fgcse-after-reload -frerun-cse-after-loop -frename-registers -DNDEBUG -UDEBUG -mthumb -Os -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64" \ LIBS="-L$SDK_ROOT/out/target/proct/generic/obj/lib -L$SDK_ROOT/out/target/proct/generic/obj/STATIC_LIBRARIES/libcutils_intermediates/libcutils.a -lc -lm -ldl $SDK_ROOT/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/../lib/gcc/arm-eabi/4.4.0/interwork/libgcc.a"
進入到curl的根目錄,運行這個腳本:
1.2 Make
進入curl的根目錄,運行make curl命令
1.3 參數配置
您可能會看到參數配置是復雜的。如何設置呢?你應該閱讀curl/ Android.mk的注釋。
2 iOS
我改變了參數的配置,所以配置命令是:
./configure –disable-shared –host=arm-apple-darwin10
3.視窗
打開的vc6curl.dsw,並選擇「DLL Release」來編譯。您會在CURL_ROOT\lib\DLL-Release
發現libcurl.dll和libcurl_imp.lib。
4.關於頭文件
curl/include的頭文件,只在成功配置後使用,頭文件在不同的平台上是不同的。

『貳』 linux編libcurl庫時依賴openssl怎麼編

如果你在編譯時遇到這個錯誤,這可能是下面的原因:你嘗試編譯的程序使用OpenSSL,但是需要和OpenSSL鏈接的文件(庫和頭文件)在你Linux平台上缺少。
要解決這個問題,你需要安裝OpenSSL 開發包,這在所有的現代Linux發行版的標准軟體倉庫中都有。
要在Debian、Ubuntu或者其他衍生版上安裝OpenSSL:

復制代碼
代碼如下:

$ sudo apt-get install libssl-dev

『叄』 為什麼編譯好的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" )

編譯-->叮的一個美妙的聲音想起了,哈哈,編譯成功

『肆』 請教 如何交叉編譯 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

『伍』 如何使用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

『陸』 ZABBIX在編譯過程中報錯:configure: error: libcurl is not available for static linking

./configure --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy --prefix=/usr/local/zabbix

這是正確的安裝方式

『柒』 為什麼編譯好的curl靜態lib用不了

你把它curl.lib引到庫裡面,然後只包含頭文件的上級目錄,原目錄需要是<curl/curl.h>
1 靜態庫路徑設置正確
2 定義CURL_STSTICLIB 解決extern函數聲明問題,否則是動態庫函數名稱
3 增加ws2_32.lib,wldap32.lib 解決tcp通信問題

『捌』 libcurl 怎麼設置內容編碼

以下方法用CURL提交post表單 1. 編譯環境. 安裝vs2010或其他版本. vs2010 express版也可以。不要低於vc6. 2. 搜索curl-7.25.0.zip,下載。 解壓到c:\curl-7.25.0 打開Visual Studio Command Prompt (2010) cd \curl-7.25.0\winbuild nmake /f Mak...

『玖』 有沒有人用過NDK編譯libcurl的

沒用的,那個問題我就是加上CFLAGS="-nostdlib"之後就沒有了,缺少的頭文件我從NDK里的Android 5 裡面拷了,現在是configure的時候顯示conftest不存在的問題,你有編譯過curl么?我在文件夾里里外外也沒搜到conftest。。。

閱讀全文

與libcurl編譯相關的資料

熱點內容
為什麼vc6編譯是灰色 瀏覽:385
python音標讀法 瀏覽:573
反轉語句python 瀏覽:21
哪個app搞英雄聯盟手游活動 瀏覽:583
如何查看郵箱收發伺服器 瀏覽:519
極簡歐洲史中文版pdf 瀏覽:908
python顯示變數值 瀏覽:387
副路由器為什麼要關伺服器 瀏覽:575
國家反詐騙app蘋果怎麼設置 瀏覽:464
我的世界如何用指令造伺服器方熊 瀏覽:304
鴨題庫是哪裡的培訓機構app 瀏覽:689
如何對伺服器取證 瀏覽:440
有什麼系統像友價源碼 瀏覽:570
圓柱彈簧壓縮量 瀏覽:811
我的世界國際版為什麼沒法進去伺服器 瀏覽:103
我的世界如何創造一個伺服器地址 瀏覽:837
皮皮蝦app怎麼玩視頻教程 瀏覽:253
python整型轉化字元串 瀏覽:804
android數據共享方式 瀏覽:375
編譯環境控制台 瀏覽:621