LibjpegTurbo
既然你看到这篇文章了,大概了解了LibjpegTurbo的作用了。这里不做多的介绍,官方生成LibjpegTurbo速度能提升2-6倍,根据实际测试,Turbo版本确实有提升,但是1.5.x版本和2.0.x版本速度差距较大,我们选择最新的release版本libjpeg2.0
编译方法
- cmake+nasm+mingw编译静态库
- Androidstudio编译动态库
AndroidStudio自带cmake编译工具和NDK,提供非常便捷的编译方式。我们首先介绍方法一。
Androidstudio编译动态库
- AS下载cmake和ndk,还需要自行下载一份ndk-16b,因为libjpegturbo编译可能对NDK有要求,如果在ndk-20上出现问题,可以换用ndk-16
- 下载2.0.x以上源码,不建议1.5.x
- 用AS创建C++项目,将源码放在cpp目录下面,如下图:
- 配置build.gradle,选择cmake path如下:
externalNativeBuild { |
externalNativeBuild { |
- 配置好后,在上方build中选择make project。
- 同时尽量选择release版本,因为debug和release编译的so文件,实际测试速度差异巨大,release版本要快很多。配置如下图:
原生cmake编译
需要的软件环境:
- libjpeg-turbo 源码
- CMake v2.8.8 或以上版本
- 安装时勾选“Add CMake to the system PATH …”,或把CMake安装路径手动添加到系统环境变量PATH中。
- 安装完之后在命令提示符工具中使用“cmake -version”验证是否安装配置成功。
- MinGW
- 如果在Windows系统上构建,推荐使用MinGW-builds或tdm-gcc。它们能够在开始菜单生成一个启动相应编译器的命令提示符链接。
- 由于本机安装了MinGW,所以就不再需要上面提到的那两个工具了,只需确保“mingw32-make.exe”的安装路径在系统环境变量PATH中即可。
- 安装完之后在命令提示符工具中使用“mingw32-make -version”验证是否安装配置成功。
- NASM
NASM0.98 或以上版本(如果构建64位库则需要NASM 2.05或以上版本)。下载NASM后解压,只需把NASM目录手动添加到系统环境变量PATH中即可。
编译:
- 源码目录创建build文件夹
- 打开cmd
cd {build_directory} |
最后等到编译完成就可以了。目录如下: