导航:首页 > 源码编译 > 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编译相关的资料

热点内容
君威压缩机电磁阀 浏览:945
安卓6手机为什么不能用app 浏览:860
什么java编译器支持中文 浏览:563
香港服务器如何做代理 浏览:201
pdf写入 浏览:986
高尔夫电台怎么添加到文件夹 浏览:239
四川麻将一般下哪个app 浏览:864
反编译exe脚本 浏览:462
源码文件夹怎么编译到固件中 浏览:912
ERp打印服务器错误怎么弄 浏览:113
蚌端口u盘加密软件有哪些 浏览:180
前端如何认证服务器 浏览:556
linux切换db2用户命令 浏览:308
相片如何用电解压 浏览:908
硕士程序员去学校当老师 浏览:122
pythonstr提取到字典 浏览:820
程序员那么可爱有人看上陆漓了 浏览:878
php正则提取图片 浏览:105
pythonlinuxdjango 浏览:565
php中文返回乱码 浏览:91