目标:编译出libcurl.a静态库,移植到自己的项目中

1. 下载Libcurl

进入https://curl.haxx.se/download.html页面,选择下载libcurl源码

2. 配置编译选项

解压源码,进入源码目录,配置编译选项:

configure前可用./configure -help命令查看所有配置的说明,下面是我的配置:

./configure --prefix=/opt/curl-7.50.2/ --build=i686---host=arm-linux CC=/opt/arm-linux-gcc-4.5.1/bin/arm-none-linux-gnueabi-gcc CFLAGS='-Os' --enable-debug  --enable-optimize  --enable-static --disable-dict --disable-ares --disable-threaded-resolver --disable-rtsp --disable-ftp --disable-ldap --disable-ldaps --disable-proxy --disable-telnet  --disable-tftp   --disable-pop3   --disable-imap   --disable-smtp --disable-gopher  --disable-ipv6 --without-zlib --without-ssl  --enable-http   -enable-crypto-auth  --without-gnutls --without-nss --without-ca-bundle --with-random=/dev/urandom export LDFLAGS="-static -L/opt/arm-linux-gcc-4.5.1/lib" && LDFLAGS="-static -L/opt/arm-linux-gcc-4.5.1/lib"

--prefix=/opt/curl-7.50.2/: make install后目标文件存放路径;

--build=i686-linux: 当前编译动作所处环境;

--host=arm-linux: 目标编译出来后的运行环境,arm-linux

CC=/opt/arm-linux-gcc-4.5.1/bin/arm-none-linux-gnueabi-gcc: 交叉编译器路径,按实际情况配置

--enable-debug  --enable-optimize  --enable-static --disable-dict --disable-ares --disable-threaded-resolver --disable-rtsp --disable-ftp --disable-ldap --disable-ldaps --disable-proxy --disable-telnet  --disable-tftp   --disable-pop3   --disable-imap   --disable-smtp --disable-gopher  --disable-ipv6 --without-zlib --without-ssl  --enable-http   -enable-crypto-auth  --without-gnutls --without-nss --without-ca-bundle --with-random=/dev/urandom

上面是编译libcurl选项,根据个人需要进行配置;

3. 编译Libcurl

make

make install;

make install命令可省略,make执行完,目标文件libcurl.a已经生成。

4. 为使用Libcurl做准备

编码生成的目标文件libcurl.a在lib/.libs目录下,已我的编译环境为例:

root@sar:/code/tool/libcurl/curl-7.50.2/lib/.libs#

将该目录下的libcurl.a和include/curl目录下.h文件拷贝到自己项目中即可

root@sar:/code/tool/libcurl/curl-7.50.2/include/curl#

linux静态编译libcurl,libcurl嵌入式Linux移植相关推荐

  1. 记录下 QT Linux 静态编译遇到的坑

    记录下 QT Linux 静态编译遇到的坑 记录下 QT Linux 静态编译遇到的坑 - 貘吃馍的日志 - 网易博客 http://qbaok.blog.163.com/blog/static/10 ...

  2. linux内核编译最详细,Linux内核编译详细教程,linux内核编译

    Linux内核编译详细教程,linux内核编译 尝试编译下Linux-kernel 4.14.14,使用Ubuntu 16.04 64位 系统. kernel-4.14.14 内核文件约96MB,解压 ...

  3. 尚观linux视频配套教程,尚观最新嵌入式Linux基础视频教程 98集嵌入式Linux巨制视频教程 新手必备...

    尚观最新嵌入式Linux基础视频教程 98集嵌入式Linux巨制视频教程 新手必备 5.jpg (67.09 KB, 下载次数: 0) 2018-4-16 09:34 上传 1.jpg (44.17 ...

  4. 嵌入式linux编译环境搭建,嵌入式Linux开发环境搭建

    整理下嵌入式Linux开发环境搭建过程笔记. 一.制作u-boot.bin文件: tar xjf u-boot-1.1.6.tar.bz2 cd u-boot-1.1.6 patch -p1 < ...

  5. linux dhcp 4.3编译,关于在嵌入式Linux下编译dhcp报错“cannot check for file existence when cross compiling”的初步研究...

    前言.写这篇文章的由来 最近在学习韦东山嵌入式培训视频(3期项目实战之USB摄像头监控)时,在对dhcp源代码configure时,报错:cannot check for file existence ...

  6. linux编译运行uart,嵌入式Linux裸机开发(七)——UART串口通信

    嵌入式Linux裸机开发(七)--UART串口通信 一.UART串口通信简介 通用异步收发器简称UART,即UNIVERSAL ASYNCHRONOUS RECEIVER AND TRANSMITTE ...

  7. linux 静态编译 yara

    最近有个需求,要在go中调用yara,发现官方的go-yara跨平台做的不是很好,于是决定在go中直接调用外部yara程序,这样只需要写一份代码在windows和linux上都能用了. 发现官方只提供 ...

  8. linux 静态编译 glibc,GCC静态链接glibc库

    如果你的编译环境是高版本的glibc库,而运行程序的环境(机器)安装的glibc是低版本的话,在运行程序的时候,就会告诉你 cannot find GLIBC_2.14 类似这样的错误,上面的2.14 ...

  9. 嵌入式Linux开发系列之一: 走进嵌入式Linux的世界

    走进嵌入式Linux的世界 一.嵌入式系统 嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件是可裁剪的,适用于对功能.可靠性.成本.体积.功耗等有严格要求的专用计算机系统.嵌入式系统最典型的特 ...

最新文章

  1. php图片美颜,Mac_Mac如何使用Photo Booth拍摄照片拍摄好玩好看的相片,  我们经常会使用美颜相机 - phpStudy...
  2. python 下载阿里云mysql的备份文件及binlog到本地
  3. 互联网高并发架构设计模式
  4. 三个容器倒水_绿茶“最忌讳”先放茶叶再倒水,想要茶味香浓,记住正确泡茶法...
  5. set-matrix-zeroes当元素为0则设矩阵内行与列均为0
  6. php 自旋锁,Linux内核自旋锁使用笔记
  7. 我说我了解集合类,面试官竟然问我为啥HashMap的负载因子不设置成1!?
  8. 隐藏虚拟键盘,解决键盘挡住UITextField问题
  9. 用js如何获取file是否存在
  10. vue中watch的用法总结以及报错处理Error in callback for watcher checkList
  11. html给页面整体添加左右边距_HTML嵌入页面的几种方法
  12. 如何从网站提取数据?
  13. 谷歌开源“穷人版”摘要生成NLP模型:训练成本低,只要1000个样本就能打败人类...
  14. 转铁蛋白(Tf)修饰去氢骆驼蓬碱磁纳米脂质体/香豆素-6脂质体/多柔比星脂质体
  15. Hive 实现 IN 和 NOT IN 子句 和 LEFT SEMI JOIN 应用
  16. 自己动手iPad贴膜小记
  17. 南宁计算机培训学校6,南宁市桃源路中64号南宁市第6职业技术学校
  18. C++有关类的基本函数总结
  19. linux系统用户和普通用户,适合普通Linux用户的五大Linux发行版
  20. draco压缩引擎学习笔记(一)

热门文章

  1. 流水调度问题c语言,基于遗传算法的流水车间调度问题汇总.doc
  2. 关于JQ的点击事件在微信手机端无响应的解决方案
  3. 南京晓庄学院java实验五_讲座|城市文化与南京世界“文学之都”的建设
  4. 为什么非全站升级HTTPS不可?
  5. 编辑函数求n阶乘fact_n!函数用C语言其实可以这样!
  6. java分别使用for循环语句计算n!_实验三:分别用for、while和do-while循环语句以及递归方法计算n!,并输出算式...
  7. redis在php中的用法,使用PHP-redis操作Redis
  8. 怎么new一个指针_19. Go语言里的 make 和 new 有什么区别?
  9. python array按行归一化_机器学习 第40集:特征不归一化有什么危害?特征归一化公式是什么?( 含有笔记、代码、注释 )...
  10. 【Mybatis】 mapper XML 文件中使用 collection实现一对多关联