0.前言

Apache可移植运行时Apache Portable Runtime,简称APR)是ApacheHTTP服务器的支持库,提供了一组映射到下层操作系统的API。如果操作系统不支持某个特定的功能,APR将提供一个模拟的实现。这样程序员使用APR编写真正可在不同平台上移植的程序。最初,APR是作为Apache HTTP服务器的一部分而存在的,但是Apache软件基金会将其延伸成一个单独的项目。其他的应用程序可以使用APR来实现平台无关性 (baidu)。

1.源码下载

APR包括三个源码包,分别为APR 1.7.0 , APR-util 1.6.1 ,APR iconv 1.2.2

源码下载链接https://apr.apache.org/download.cgi

2.编译

2.1 APR 1.7.0编译

./configure CC=arm-himix200-linux-gcc --host=arm-himix200-linux --prefix=$PWD/_install ac_cv_file__dev_zero=yes ac_cv_func_setpgrp_void=yes apr_cv_tcp_nodelay_with_cork=yes

make;make install

错误1:如果不加ac_cv_file__dev_zero=yes 会报如下错误

checking for /dev/zero... configure: error: cannot check for file existence when cross compiling

错误2:屏蔽configure 屏蔽掉$RM "$cfgfile"

rm: cannot remove 'libtoolT': No such file or directory

错误3:解决方案把该定义屏蔽掉即可。

./include/apr_want.h:94:8: error: redefinition of 'struct iovec'

错误4:进入tools下重新编译gcc -Wall -O2 -DCROSS_COMPILE gen_test_char.c -s -o gen_test_char

tools/gen_test_char > include/private/apr_escape_test_char.h
/bin/sh: tools/gen_test_char: 无法执行二进制文件
make[1]: *** [include/private/apr_escape_test_char.h] Error 126

接下来就可以完成编译;然后make install,生成目录如下:

bin  build-1  include  lib

2.2 APR iconv 1.2.2编译

./configure CC=arm-himix200-linux-gcc --host=arm-himix200-linux --prefix=$PWD/_instal --with-apr=$PWD/../apr-1.7.0/_install

make;make install

这个比较顺利,没有报什么错误。

2.3 APR-util 1.6.1编译

该库需要上面两个安装目录

./configure CC=arm-himix200-linux-gcc --host=arm-himix200-linux --prefix=$PWD/_instal --with-apr=$PWD/../apr-1.7.0/_install --with-apr-iconv=$PWD/../apr-iconv-1.2.2/_install --with-expat=$PWD/../libexpat-master/expat/_install

make;make install

错误1:需要安装expat库  --with-expat=库路径

xml/apr_xml.c:35:19: fatal error: expat.h: No such file or directory#include <expat.h>

2.4 libexpat编译

由于APR-util需要用到该库,所以也把这个加上。

源码:https://github.com/libexpat/libexpat

编译:

./buildconf.sh  ./configure CC=arm-himix200-linux-gcc --host=arm-himix200-linux --prefix=$PWD/_installmake; make install

         

海思移植 APR(Apache Portable Runtime)相关推荐

  1. APR(Apache Portable Run-time Librarie)介绍

    Apache Portable Run-time Librarie 在早期的Apache版本中,应用程序本身必须能够处理各种具体操作系统平台的细节,并针对不同的平台调用不同的处理函数.随着Apache ...

  2. Tomcat5.5报错:Apache Portable Runtime was not found

    一.发现问题 在启动Tomcat5.5的时候发现console中有一句话The Apache Portable Runtime which allows The optimal performance ...

  3. 海思移植Live555

    海思移植Live555 移植Live555 移植openssl 移植Live555 下载live555 live下载地址 下载完毕后移植到虚拟机上解压 解压完毕后我们可以得到live这个文件夹 我们要 ...

  4. 海思移植opencv+车辆检测

    1.确保ubuntu能上网 2.安装cmake 代码: 全选 sudo apt-get install cmake-gui 3.下载opencv2.4.9 Linux版源码,不要用最新的3.0.0 h ...

  5. 四、基于海思芯片:从算法到移植 生成海思wk文件并进行成果展示

    一.基于海思芯片:从算法到移植  darknet框架下训练yolov3 二.基于海思芯片:从算法到移植   darknet框架下yolov3转为caffe框架下 三.基于海思芯片:从算法到移植   c ...

  6. 海思3559移植yolov3

    此人博客上有完整教程: https://blog.csdn.net/avideointerfaces/article/category/8762084 海思3559移植yolov3 海思AI芯片(Hi ...

  7. 海思Hi3559A平台移植 opencv4.0.0

    原文:https://blog.csdn.net/xclshwd/article/details/85257117 海思Hi3559A平台移植 opencv4.0.0 2018年12月26日 09:5 ...

  8. python交叉编译_交叉编译Python3.6.2,使用海思arm-hisiv200-linux-gcc,移植到arm开发板上...

    最近在学习Python,感觉使用Python可以快速的写出程序,比之前使用的C语言快多了,能省出很多时间.多学一点知识有更多的选择.本职工作是嵌入式开发,学习了Python后想移植到开发板上,尝试嵌入 ...

  9. 海思芯片怎么使用tde给qt加速_基于Hisi芯片,交叉编译、移植Qt4.8.6(可旋转)

    一.安装海思编译链 安装海思编译链(如arm-hisiv300-linux-*),不做赘述. 二.下载Qt4.8.6源码包 源码包:qt-everywhere-opensource-src-4.8.6 ...

  10. 海思芯片怎么使用tde给qt加速_3519移植Qt适配附件

    [实例简介] 修改Qt5.5.1linuxfb插件代码,适配海思3519平台 [实例截图] [核心代码] 3519Qt移植.tar ├── 3519Qt绉绘 │   ├── linuxfb │   ...

最新文章

  1. C#中TextBox只能输入数字的代码
  2. C# SQLiteHelper类似SqlHelper类实现存取Sqlite数据库
  3. python循环语句-python循环语句(第十节)
  4. oracle fuser lk,oracle错误集锦
  5. 适合程序员的四大字体
  6. python怎么打印字典_在python中打印字典的原始输入顺序
  7. 因为我的名字特殊大家都是用异样的眼光在看着我 04
  8. 浅析AES和RSA加密算法的区别和适用场景
  9. Java虚拟机专题之垃圾回收(读书笔记)
  10. windows平台下压缩tar.gz
  11. 奇怪,为什么在主页上面只列出最近的随笔,而文章呢?
  12. 软件工程 网络工程,职业方向是怎样的?选择之前一定要了解!
  13. 贪心算法 看这一篇就够了
  14. PB高拍仪无纸化软件方案
  15. 什么是自媒体、自媒体平台???
  16. java 流 flush,在Java流中flush()的目的是什么?
  17. 输入水仙花数的位数 c语言,水仙花数,水仙花数c语言
  18. 终于明白了AOP中的方面是什么意思
  19. 区块链倪老师:区块链思维——序章
  20. 2022-04-07 西安 javaSE(04) 方法可变参数、重载、递归,数组、冒泡排序、二分查找、动态操作,二维数组、jvm内存区域划分

热门文章

  1. Codevs3332 数列
  2. Ubuntu16.04如何设置静态IP地址
  3. Linux下七种文件类型、文件属性及其查看方法
  4. Matplotlib饼状图
  5. python知识图谱智能问答_机器人之基于知识图谱的智能问答机器人
  6. 台式电脑计算机打开的快捷键,台式机u盘装系统按f几|台式电脑u盘装系统快捷键是哪个...
  7. 联想台式计算机 不启动u盘,联想电脑不能u盘启动怎么办
  8. Stemwin如何显示背景透明的图片
  9. win10红警2黑屏_win10怎么玩红警2尤里的复仇及其mod的方法汇总,mod打不开、卡顿的通用解决方案...
  10. 3、在hilens_kit安装ros后,运行小车导航