libjpeg-turbo 编译 android,ios,linux,windows 各个平台需要的包

libjpeg-turbo是用于处理图片的,比如压缩图片,或者生成缩略图。

libjpeg-turbo 官网:https://libjpeg-turbo.org/

libjpeg-turbo github:https://github.com/libjpeg-turbo/libjpeg-turbo

官方编译文档:https://github.com/libjpeg-turbo/libjpeg-turbo/blob/master/BUILDING.md

编译各个平台libjpeg-turbo 主要资料来源于官方编译文档,虽然官方文档上写得很清晰,但是还是有些地方可能会踩坑。写这篇文章希望能帮助大家更好的编译libjpeg。

1.编译android使用的包:

系统:ubuntu18.04 64位

环境:安装cmake最新版(ubuntu应用商店里有可以直接安装)

           安装nasm(编译x86,x86-64架构的cpu需要)

           安装gcc (ubuntu系统自带有,所以不需要安装,gcc -v可能查看是否安装)

           下载ndk(这里需要注意,你下的最新版的ndk包里可能对于android一些低版本不支持)

编译:(由于安卓是好几种cpu架构包,armv7,armv8,x86,x86-64,就拿armv7的包举例子)

libjpeg-turbo 编译 android,ios,linux,windows 各个平台需要的包_第1张图片

 如果的ndk版本过高设置ANDROID_VERSION过低 cmake会报错,亲测 ndk-r17 可编译 16版本的so库包,ndk-r18版本不能编译通过,把版本升高就能避免。

还需要注意的是,如果编译报错了,需要把生成的目录里的错误文件删掉再进行下一次编译。

2.编译ios使用的包

      系统:mac os mojave 10.14

       环境:cmake 

                  nasm

                  xcode

        编译:(拿armv7举例)

libjpeg-turbo 编译 android,ios,linux,windows 各个平台需要的包_第2张图片

 

需要注意的是,官网文档上-miphoneos-version-min这个参数需要根据电脑里的有点版本进行更改。armv7这种架构只出现在4,4s,5上 基本可以抛弃编译,但是特殊项目需要兼容当然也就可以用上了。

3.编译linux 和 windows的都很简单这里就不详细写下去了。

如果觉得编译繁琐可以直接下载我编译好的包:

windows:https://download.csdn.net/download/xiaofengm/10746607

android:https://download.csdn.net/download/xiaofengm/10746593

ios:https://download.csdn.net/download/xiaofengm/10746602

linux:https://download.csdn.net/download/xiaofengm/10746571

 

你可能感兴趣的:(android)