用于安卓的 libjpeg-turbo [英] libjpeg-turbo for android

查看:13
本文介绍了用于安卓的 libjpeg-turbo的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要 libjpeg-turbo 用于 android ndk.有没有人设法将它编译为.a(静态)库?我已经尝试了几次,但它只给了我很多错误.

I need libjpeg-turbo for android ndk. Did anyone managed to compile it as .a (static) lib? I have tried a few times, but it gave me a lot of errors only.

推荐答案

安装 Android NDK.以下说明是用r8b验证的,老版本可能有问题,我不知道.

Install Android NDK. Following instructions were verified with r8b, older versions may have problems, I don't know.

从 Benjamin Gaignard 处获取 libjpeg-turbo 的 Android 源代码:

Get the Android sources for libjpeg-turbo from Benjamin Gaignard:

git clone git://git.linaro.org/people/tomgall/libjpeg-turbo/libjpeg-turbo.git -b linaro-android

git 创建的 libjpeg-turbo 目录中,编辑文件 Android.mk:在第 70 行之后,LOCAL_MODULE :=libjpeg,添加以下内容:

In the libjpeg-turbo directory created by git, edit file Android.mk: after line 70, LOCAL_MODULE := libjpeg, add the following:

ifeq ($(notdir $(MAKECMDGOALS)),libjpeg.a)
  LOCAL_SRC_FILES +=  $(libsimd_SOURCES_DIST)
  include $(BUILD_STATIC_LIBRARY)
  include $(CLEAR_VARS)
  LOCAL_MODULE := dummy
endif

运行 ndk-build:

ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=./Android.mk obj/local/armeabi/libjpeg.a

利润!

PS:您可能想要 armeabi-v7a 版本:

ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=./Android.mk APP_ABI=armeabi-v7a obj/local/armeabi-v7a/libjpeg.a

或者为ARM编译,为了提高性能,添加到命令行:

Or compile for ARM, to improve performance, add to command line:

LOCAL_ARM_MODE=arm

如果您的目标支持 NEON,请添加到命令行:

If your target has NEON support, add to command line:

LOCAL_ARM_NEON=true ARCH_ARM_HAVE_NEON=true

<小时>

更新:要使其与 Android NDK r15 及更高版本一起使用,请从 Android.mk 中删除对 libcutils 的所有引用.


UPDATE: to get it work with Android NDK r15 and later, remove all references to libcutils from Android.mk.

这篇关于用于安卓的 libjpeg-turbo的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆