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

热点内容
我的世界如何用指令造服务器方熊 浏览:304
鸭题库是哪里的培训机构app 浏览:687
如何对服务器取证 浏览:440
有什么系统像友价源码 浏览:570
圆柱弹簧压缩量 浏览:811
我的世界国际版为什么没法进去服务器 浏览:103
我的世界如何创造一个服务器地址 浏览:837
皮皮虾app怎么玩视频教程 浏览:253
python整型转化字符串 浏览:804
android数据共享方式 浏览:375
编译环境控制台 浏览:620
宁波欣达压缩机空气过滤器价位 浏览:665
幂函数的运算法则总结 浏览:138
方舟自己的服务器怎么搞蓝图 浏览:915
校园网怎么加密ip 浏览:786
kotlin可以编译双端吗 浏览:327
哪个幼儿识字app不要钱 浏览:802
压缩软件的作用 浏览:31
猴子网游app安全吗怎么扫码 浏览:221
哪些系统盘文件夹大 浏览:343