ubuntu11.10 64bit 编译android 4.0

【系列05】端侧AI:构建与部署高效的本地化AI模型 第4章:模型量化(Quantization) 量化的基本思想是减少模型中用于表示参数和激活值的比特数。在模型训练时,参数通常使用32位浮点数(FP32)进行存储,这提供了高精度,但也消耗大量的内存和计算资源。量化则将这些32位浮点数转换成低比特数表示,通常是8位整数(INT8)。量化的原理可以概括为:对浮点数范围进行校准,并将其映射到更小的整数范围内。例如,将一个FP32的权重(如-1.5到1.5)映射到INT8的范围(-128到127)。在推理过程中,模型将使用这些低精度的整数进行计算,从而大大减少了所需的计算量。量化带来的主要收益减少模型大小。 阅读详情

;ubuntu11.10 64bit编译android 4.0

 

前言:

据说google内部使用的的ubuntu版本始终是10.4,

而我一直使用的编译2.3Gingerbread的 11.04下补充安装uuid-dev和liblzo2-dev两个库就可以直接编译4.0了。

问题是我们公司编译服务器上安装的是11.10,其对应的gcc版本是 4.6.1,一个显著的变化是编译查错级别提高了。

为保持ubuntu的统一性,根据不修改gcc版本,修改相应出错代码的原则进行编译。 

;=========0.安装JDK 6

android官网指定的源居然提示找不到jdk安装文件,提示E:Package 'sun-java6-jdk' has no installation candidate

解决:添加一个源:debhttp://us.archive.ubuntu.com/ubuntu/ hardy multiverse

方法:打开源列表: sudo vim/etc/apt/sources.list

在最后一行添加deb http://us.archive.ubuntu.com/ubuntu/ hardy multiverse

更新apt源: sudo apt-get update

安装sun-java6-jdk:  sudo apt-get install sun-java6-jdk

下载完成后,在提示界面按tab键选择确认。(如果ssh shell窗口安装的,jdk安装图形界面看不到,直接tab键选择,回车键接受,就OK了)

 

;===========1.安装lib库

1.1 sudo apt-get install git-core gnupgflex bison gperf build-essential \

zip curl zlib1g-dev libc6-devlib32ncurses5-dev ia32-libs \

x11proto-core-dev libx11-dev lib32z-dev \

libgl1-mesa-dev g++-multilib mingw32tofrodos python-markdown \

libxml2-utils xsltproc -y

 

为保证安装成功,再次运行上述命令,检查是否有漏装的,可能与安装顺序的依赖关系有关。比如我再次运行时,如下提示:

The following extra packages will beinstalled:

 libpthread-stubs0 libpthread-stubs0-dev libxau-dev libxcb1-devlibxdmcp-dev libxext-dev mesa-common-dev

The following packages will be REMOVED:

 libpthread-stubs0:i386 libpthread-stubs0-dev:i386 libx11-dev:i386libxau-dev:i386 libxcb1-dev:i386 libxdmcp-dev:i386

The following NEW packages will beinstalled:

 libgl1-mesa-dev libpthread-stubs0 libpthread-stubs0-dev libx11-devlibxau-dev libxcb1-dev libxdmcp-dev libxext-dev mesa-common-dev

 

lib32readline5-dev 这个找不到,建议安装 --->  lib32readline-gplv2-dev

sudo apt-get installlib32readline-gplv2-dev 

sudo apt-get install uuid-dev  #这个库也要安装。

 

;============2.报错/usr/bin/ld: cannot find -llzo2

#这个是缺lib库

sudo apt-get install liblzo2-dev:i386  #注意一定要带:i386,否则可能报 cannot find-llzo2

#不能使用普通版本liblzo2-dev,会报skipping incompatible然后仍然 /usr/bin/ld: cannot find -llzo2;

#如果已经安装了liblzo2-dev,再运行上面的命令会卸载一些gcc等,需要重新安装1.1里面的那一堆。

 

;=============3.报错:error: "_FORTIFY_SOURCE" redefined [-Werror]

host C++: obbtool <= frameworks/base/tools/obbtool/Main.cpp

<command-line>:0:0: error:"_FORTIFY_SOURCE" redefined [-Werror]

<built-in>:0:0: note: this is thelocation of the previous definition

解决方法:

修改源码目录下/build/core/combo/HOST_linux-x86.mk文件:

将以下语句

HOST_GLOBAL_CFLAGS += -D_FORTIFY_SOURCE=0

修改为

HOST_GLOBAL_CFLAGS += -U_FORTIFY_SOURCE-D_FORTIFY_SOURCE=0

 

;===============4.报错:frameworks/compile/slang/slang_rs_export_foreach.cpp:247:23: error: variable ‘ParamName’ set but not used [-Werror=unused-but-set-variable]

解决方法: vimframeworks/compile/slang/Android.mk去掉-Werror

 

这类问题的一般通用解决方法:

遇到错误:cc1plus:warnings being treated as errors

主要原因是 Makefile或Android.mk里面 gcc的参数多了一个 "-Werror"

找到出错的模块下的make文件,看Make文件里面有没有“-Werror",如果有的话将其删除。重新编译即可。

  

;===============5.报错: mesa3d/src/glsl/linker.cpp:1394:49: error: expectedprimary-expression before

解决方法:

把"#include <stddef.h>"添加到 linker.cpp文件头部。

 

 

;=================6.报错:external/oprofile/libpp/format_output.h:94:22: error: reference ‘counts’ cannot be declared

解决方法:需要修改external/oprofile/libpp/format_output.h:94行

mutable counts_t & counts为

counts_t & counts

 

;=============7.报错 Mutex.cpp:143: undefined reference to `pthread_mutex_trylock' 和llvm/lib/Support/Unix/Signals.inc:219:undefined reference to `dladdr'

解决方法:

 $viexternal/llvm/llvm-host-build.mk

 LOCAL_LDLIBS := -lpthread -ldl

 

;=============8.报错 /gtest/internal/gtest-param-util.h:122:11: error: ‘ptrdiff_t’ does not name a type

解决方法:

 $viexternal/gtest/src/../include/gtest/internal/gtest-param-util.h

 #include <cstddef>

 

我的电脑修改了上面几处就编译成功了。

基于EB工具的TC3xx_MCAL配置开发05_ADC模块硬件Pwm触发Demo配置 基于EB工具,硬件Pwm触发ADC采集Demo配置详细介绍 阅读详情

相关推荐

高通平台camera构架sensor驱动详解

优先阅读。

a5566255的专栏 3254

android.mk 详解

转载自:http://www.2cto.com/kf/201310/253386.html Android.mk详解   想请教下Android.mk中一些属性、方法、定义,总之就想详细了解下Android.mk文件, 我先抛砖引玉。   LOCAL_PATH 必须位于Android.mk文件的最开始。它是用来定位源文件的位置,$(call my-dir)的作用就是返回当前目

三言两语 1040

量子密钥分发系统的工程实践(四):FPGA在后处理中的核心实现与优化

本文深入探讨了FPGA在量子密钥分发(QKD)系统后处理中的核心实现与优化策略。文章详细拆解了FPGA如何高效完成原始密钥提取、误码协商和私密放大等关键任务,并分享了流水线设计、资源复用及存储器架构优化等工程实践“心法”,旨在解决高速、实时QKD系统中的性能瓶颈,提升密钥生成率。

t8u9v0的博客 388

【Android NDK 链接pthread线程库】

然而在Android NDK编译中这样会报错提示找不到pthread。这是因为Android NDK中posix线程库被归纳到了c++库中。通常链接pthread在CMake脚本中都是这样做的。所以正确的链接方法是链接C++库。

j8267643的博客 1584

浅显易懂地看LLC变换器(三)

第3期 谐振与增益的定性关系 由简单的谐振电路说起 我们将以电感和电容的基本电路的特性逐渐了解谐振电路的特性 与电阻不同,电感和电容都不是纯阻性线性器件,电感的感抗XL和电容的容抗Xc都与频率有关,当加在电感和电容上的频率发生变化时,它们的感抗XL和容抗Xc会发生变化。 1) 如下图RL电路,当输入源Vin的频率增加时,电感的感抗增大,输出电压减小,增益Gain=Vo/Vin随频率增加而减小。 2) 如下图RC电路,相反,当输入源Vin的频率增加时...

iFTrue电力电子专栏 6745

Power BI实战:从数据清洗到可视化报表的完整流程

本文详细介绍了使用Power BI进行数据分析的完整流程,从数据获取、清洗整理到建模与可视化。通过实战案例,重点讲解了连接MySQL数据库、使用Power Query进行数据清洗、利用DAX创建核心度量值以及设计交互式报表的关键步骤与技巧,帮助用户高效完成从原始数据到专业可视化报表的转化,实现数据驱动决策。

weixin_29070721的博客 399

android NDK 交叉编译C库

工作需要把x86下的C库交叉编译成arm的 搞了好久终于搞定 ndk下的libpthread库是包含在libc中的 makefile里不需要-lpthread 否则checking pthread会显示no 但还是会正常编译 忠告 最好不要在windows环境下用cygwin编译 好像pthread库有点问题 make的时候一直报错 各种未定义,也有可能是我自己哪里

huozhihao的专栏 1608

数据中心光模块升级实录:从200G QSFP56到400G QSFP-DD的踩坑指南

本文记录了数据中心从200G QSFP56升级至400G QSFP-DD光模块的完整实战经验。文章深入剖析了升级过程中面临的兼容性、链路预算、布线、散热与功耗管理等核心挑战,并提供了具体的解决方案与排坑指南,为高速网络升级提供了宝贵的实践参考。

butter的博客 482

android 编译 pthread,Android NDK和pthread

Android的pthread功能是否有限?AFAIK,是的.POSIX threads (pthreads)The android libc, bionic, provides built-in support for pthreads, so noadditional linking (-lpthreads) is necessary. It does not implement fullPO...

weixin_34854288的博客 518

本地通知与健康数据的隐私保护方案

随着移动健康(mHealth)应用的普及,本地通知与健康数据的结合为用户提供了更加个性化的健康管理体验。然而,这种便利性也带来了严峻的隐私保护挑战。本文旨在探讨如何在移动应用中实现本地通知功能的同时,确保用户健康数据的隐私安全。本地通知与健康数据结合的技术架构隐私保护的核心技术方案具体算法实现与数学模型实际应用案例分析本文首先介绍背景知识和核心概念,然后深入探讨隐私保护的技术方案,包括算法原理和数学模型。接着提供实际代码实现和应用场景分析,最后讨论未来发展趋势和挑战。

移动开发前沿的博客 1309

uniapp(安卓 | 苹果) - 最新详细实现App打包发布教程,uni-app苹果IOS软件应用上架App Store软件商店,uni-app打包发布安卓Android软件到各大应用商店(详细教程

uni-app,安卓android,苹果ios,uniapp App软件,Uniapp上架发布应用,打包构建,apk、app软件,应用商店,应用市场,app store,uni-app安卓苹果app上架应用商店,app应用从创建到上架_uniapp打包app的流程和上架,uniapp打包上架ios Appstore 最全流程,苹果应用商店上架教程,uniapp生成的app怎么上架到iphone的app store,uni-app打包到上架Android , ios完整详细流程,审核一直不通过,软件商店审核失

✅ 精选推荐文章 1万+

android关于pthread的使用过程

android开发经常需要使用pthread来编写代码实现相关的业务需求。

qq_27840511的博客 729

SAP UI5 OData V4 操作结果访问:从 getObject 到返回值上下文与 $$inheritExpandSelect

SAP UI5 OData V4 操作结果获取指南 摘要:在 SAP UI5 OData V4 模型中,操作结果需通过绑定上下文获取而非直接从 invoke() 返回。本文详解核心要点: 数据获取路径 使用 invoke() 发起请求后,通过 getBoundContext().getObject() 获取结果 特定场景下 invoke() 可能返回返回值上下文(如草稿切换) 关键实践技巧 使用 $$inheritExpandSelect 继承字段选择,避免二次读取 对象页应用中,通过替换绑定上下文实现无缝

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 316

ubuntu 11.10 64bit下编译android4.0.3

按照google官方网站上的配置基本没什么问题,只要都能装上。 只加了163的源。 $ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs x11pro

软件园5号的专栏 462

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Ubuntu11 10 64Bit版上的Android 4 0 开发环境搭建

Ubuntu11 10 64Bit版上的Android 4 0 开发环境搭建

qq_44910516的博客 210

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Ubuntu11.10 64Bit版上的Android 4.0 开发环境搭建

原文地址:http://blog.csdn.net/forlong401/article/details/6890908 据说Android以后新版本只支持64bit版本开发,所以搭建一个64bit系统的Android开发环境为将来的Android4.0 及更高版本 开发打好基础。 一、准备工作 1.1 硬件 PC 一台(支持64bit),内存最好4G,硬盘最好1T,CPU最好

学习记录 992

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

android 4.2 在12.4 for ubuntu 64bit 编译问题。

问题: cp -f out/target/product/mstaredison/system/lib/modules/mdrv-software-ir.ko out/target/product/mstaredison/recovery/root/etc/ cp -f out/target/product/mstaredison/system/lib/modules/ehci-hcd.ko

xiongmc的专栏 1883

android 4.4 源码编译,ubuntu12.04(64bit)编译android4.4源码、sdk及kernel

最近闲来无事,就想编译一下android源码折腾折腾。过程还算顺利,编译源码用了近3小时,编译sdk用了近30分钟。关于为什么要编译4.4的源码,而不编译5.0、6.0的源码,一是正好笔记本中有下载好的4.4源码;二是一些源码学习的资料大都是4.x、2.x的源码,而且4.4系统也是现在市场占有率最大的;三是基于4.4的源码编译,出现问题易于解决,因为大家都遇到过嘛(嘿嘿!)。当然类似的文章教程很多...

weixin_30844865的博客 678

Ubuntu12.04(64bit) 下编译安装 Android4.0及4.22系统

这段时间因为实验需要,所以编译了Android4.0和4.2.2系统源码,网上也有些教程,不过都多多少少有些错误,另外就是由于每个人编译时环境的差别等,具体的过程和遇到的错误可能不一样,不过大致的过程还是一样的,我就把我这编译时的步骤和遇到的一些问题列出来吧~ 1. 安装Ubuntu12.04 64位,我是在virtualbox下虚拟安装的,具体过程自行百度~ 2.下载源码,我没有用vpn,直

fengshi2009的专栏 774

Ubuntu12.04(64bit)编译Android4.4源码和kernel

因为之前没编译过android源码,make时各种错误让我痛苦了好几天的时间。。。 1.到oracle的官网上下载1.6的JDK(切记一定要是1.6的,其他版本的会出错;如果你的ubuntu是64位的选择x64的版本,32位的就选择i586版本的JDK) 2.下载android源码,这里我用repo下载了几次都没有成功,所以用了网上别人下好的4.4源码,再此感谢 3.硬件环境: 3

you_shou的博客 1816

android4.0编译 (ubuntu12.04 64bit)

1、初始化编译环境 (1)软件需求:     Python 2.5 -- 2.7, which you can download from python.org.     GNU Make 3.81 -- 3.82, which you can download from gnu.org,     JDK 6 if you wish to build Gingerbread

evenness的专栏 1807

ubuntu 16.04 编译android,Ubuntu 16.04 64bit 编译 Android 4.4 源码

1.获取Android源码(1)下载repo在用户目录下创建一个bin文件夹来存放repo,并把该路径设置到环境变量中mkdir ~/binPATH=~/bin:$PATH下载repo脚本curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo设置repo可执行权限chmod a+x ~/bin/repo...

weixin_30937427的博客 249

android源码编译 ide,Ubuntu Kylin 64bit下配置Android源码编译环境

ubuntukylin14.04已于2014年4月18日正式发布。在此之前,编译android源码基本上都是以ubuntu12.04作为首选。12.04同为LTS版本的kylin正式发布后,就有了将开发环境从12.04转换到kylin下的冲动。下面就从android源码编译环境的配置开始我的这次kylin之旅。1.jdk的安装与配置:jdk的安装,我选用的是使用bin格式安装包进行安装的方式。首先...

weixin_42116791的博客 339
上一篇: Wi-Fi TDLS
下一篇: 使用仿真器调试自己编译的framework和打包的system.img
勤奋专注
博客等级 码龄19年 80粉丝 69原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值