海思3516 移植 阿里云OSS

阿里云OSS简介

阿里云对象存储OSS(Object Storage Service)是阿里云提供的海量、安全、低成本、高持久的云存储服务。

阿里云OSS官方地址
c_sdk:
https://github.com/aliyun/aliyun-oss-c-sdk
cpp_sdk:
https://github.com/aliyun/aliyun-oss-cpp-sdk
相关依赖库:
Libcurl
Apr
apr-util
minixml
openssl
我自己整理打包了一个,可以直接下载
https://download.csdn.net/download/weixin_43817380/13077093

1 mxmlv2.10

下载地址:
https://github.com/michaelrsweet/mxml/releases
建立cross.sh文件,把下面的复制进去,修改相关目录执行,然后make,make install即可安装至–prefix指定的目录。

  • –prefix: 安装目录 即make install之后 include lib 位置所在目录。(后面相同就不说了)
  • –host:该软件将要运行的平台(可随意设置)
  • CC:交叉编译的gcc工具
  • CXX:交叉编译的g++工具
./configure                           \
--prefix=/home/dl/OSS/libmxml          \
-host=arm-linux                        \
CC=/opt/hisi-linux/x86-arm/arm-himix200-linux/bin/arm-himix200-linux-gcc   \
CXX=/opt/hisi-linux/x86-arm/arm-himix200-linux/bin/arm-himix200-linux-g++

执行sh cross.sh命令,配置成功后
然后执行make,make install。

2 libcurl 库

源码:https://curl.haxx.se/download.html

./configure \
--prefix=/home/dl/OSS/libcurl \
--host=arm-linux \
CC=/opt/hisi-linux/x86-arm/arm-himix200-linux/bin/arm-himix200-linux-gcc   \
CXX=/opt/hisi-linux/x86-arm/arm-himix200-linux/bin/arm-himix200-linux-g++

执行sh cross.sh命令,配置成功后
然后执行make,make install。

3 apr-1.7.0

下载地址 https://apr.apache.org/

./configure --prefix=/home/dl/OSS/libapr \
--host=arm-linux CC=/opt/hisi-linux/x86-arm/arm-himix200-linux/bin/arm-himix200-linux-gcc \
CXX=/opt/hisi-linux/x86-arm/arm-himix200-linux/bin/arm-himix200-linux-g++ \
ac_cv_file__dev_zero=yes ac_cv_func_setpgrp_void=yes \
apr_cv_process_shared_works=yes apr_cv_mutex_robust_shared=yes \
apr_cv_tcp_nodelay_with_cork=yes \
ap_void_ptr_lt_long=no \
APR_HAS_PROC_PTHREAD_SERIALIZE=yes

执行sh cross.sh,make,make install即可
运行后执行make,会出错

3.1 报错./include/apr_want.h:94:8: error: redefinition of ‘struct iovec’

修改apr_want.h文件。从92行开始

#ifndef APR_IOVEC_DEFINED
#define APR_IOVEC_DEFINED
  struct iovec
 {
   
 void *iov_base;
  size_t iov_len;
  };  
  #endif /* !APR_IOVEC_DEFINED */

把这一段注释掉

3.2 报错encoding/apr_escape.c:79:33: error: ‘test_char_table’ undeclared

在makeflie里第134行找到

OBJECTS_gen_test_char = tools/gen_test_char.lo $(LOCAL_LIBS)

把它屏蔽掉

或者在./encoding/apr_escape.c 文件中把

 #define TEST_CHAR(c, f)        (test_char_table[(unsigned)(c)] & (f))

定义改为空

3.3报错locks/unix/proc_mutex.c:1494:28: error: ‘mutex_proc_pthread_methods’ undeclared (first use in this function)

去apr.h文件中把255行的

#define APR_HAS_PROC_PTHREAD_SERIALIZE    0

改为

#define APR_HAS_PROC_PTHREAD_SERIALIZE    1

保存,然后make,make install

4 apr-util-1.5.4

下载地址 同 apr : https://apr.apache.org/
在编译前需要先编译libexpat

4.1libexpat的交叉编译

下载地址 https://github.com/libexpat/libexpat
进入libexpat-master/expat目录,创建cross.sh文件

./configure --prefix=/home/dl/OSS/libexpat   \
-host=arm-linux \
CC=/opt/hisi-linux/x86-arm/arm-himix200-linux/bin/arm-himix200-linux-gcc

执行sh cross.sh,make,make install即可

4.2 apr-util 1.5.4的交叉编译

建立c

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值