升级libjpeg-turbo从1.5.0到2.1.0时构建失败的问题排查与求助
升级libjpeg-turbo从1.5.0到2.1.0时构建失败的问题排查与求助
我最近在尝试把libuvccamera项目里内置的libjpeg-turbo从1.5.0升级到2.1.0,以此来提升MJPEG的解码性能。我已经按照以下步骤操作了:
- 替换文件目录:删除原有的
libjpeg-turbo-1.5.0文件夹,把libjpeg-turbo-2.1.0解压到libuvccamera/src/main/jni/下的同一位置 - 更新JNI根目录的Android.mk:添加
include $(PROJ_PATH)/libjpeg-turbo-2.1.0/Android.mk - 修改UVCCamera/Android.mk:将依赖模块更新为
LOCAL_SHARED_LIBRARIES += usb100 uvc jpeg-turbo210_static - 修改libjpeg-turbo-2.1.0/Android.mk:设置
LOCAL_MODULE := jpeg-turbo210_static - 更新UVCCamera.java:把加载库的代码改成
System.loadLibrary("jpeg-turbo210");
但现在构建还是失败,报错信息如下:
Android NDK: Module UVCCamera depends on undefined modules: jpeg-turbo210
我已经确认过以下几点:
- libjpeg-turbo的Android.mk里确实定义了
jpeg-turbo210_static模块 - 根目录的Android.mk是先包含libjpeg-turbo-2.1.0/Android.mk,再处理UVCCamera的
System.loadLibrary("jpeg-turbo210")的调用是正确的- 已经执行了清理构建并清除了缓存
我还试过把模块名改成jpeg-turbo210(去掉_static后缀),但还是报同样的错误。
现在想求助大家几个问题:
- 在这个项目结构下,把libjpeg-turbo从1.5.0升级到2.1.0的正确步骤应该是什么?
- 我还需要修改libuvc、libusb或者Application.mk里的内容吗?
- 是不是应该手动编译生成.so文件,而不是直接用源码包含的方式?
- 有没有成功使用libjpeg-turbo 2.x版本的最小可行示例或者分支可以参考?
内容来源于stack exchange
相关产品推荐
相关产品推荐

