【问题标题】:How to build mupdf for android如何为 android 构建 mupdf
【发布时间】:2017-02-06 10:57:32
【问题描述】:
jni/../../../../thirdparty/openjpeg/src/lib/openjp2/j2k.c:5977: error: undefined reference to 'opj_has_thread_support'
jni/../../../../thirdparty/openjpeg/src/lib/openjp2/j2k.c:5980: error: undefined reference to 'opj_get_num_cpus'
jni/../../../../thirdparty/openjpeg/src/lib/openjp2/j2k.c:5957: error: undefined reference to 'opj_has_thread_support'
jni/../../../../thirdparty/openjpeg/src/lib/openjp2/j2k.c:5959: error: undefined reference to 'opj_thread_pool_destroy'
jni/../../../../thirdparty/openjpeg/src/lib/openjp2/j2k.c:5962: error: undefined reference to 'opj_thread_pool_create'
jni/../../../../thirdparty/openjpeg/src/lib/openjp2/j2k.c:5966: error: undefined reference to 'opj_thread_pool_create'
jni/../../../../thirdparty/openjpeg/src/lib/openjp2/j2k.c:7618: error: undefined reference to 'opj_thread_pool_destroy'
jni/../../../../thirdparty/openjpeg/src/lib/openjp2/j2k.c:6021: error: undefined reference to 'opj_thread_pool_create'
jni/../../../../thirdparty/openjpeg/src/lib/openjp2/j2k.c:6024: error: undefined reference to 'opj_thread_pool_create'
jni/../../../../thirdparty/openjpeg/src/lib/openjp2/tcd.c:1606: error: undefined reference to 'opj_thread_pool_wait_completion'
jni/../../../../thirdparty/openjpeg/src/lib/openjp2/dwt.c:647: error: undefined reference to 'opj_thread_pool_get_thread_count'
jni/../../../../thirdparty/openjpeg/src/lib/openjp2/dwt.c:706: error: undefined reference to 'opj_thread_pool_wait_completion'
jni/../../../../thirdparty/openjpeg/src/lib/openjp2/dwt.c:724: error: undefined reference to 'opj_thread_pool_wait_completion'
jni/../../../../thirdparty/openjpeg/src/lib/openjp2/dwt.c:729: error: undefined reference to 'opj_thread_pool_submit_job'
jni/../../../../thirdparty/openjpeg/src/lib/openjp2/dwt.c:731: error: undefined reference to 'opj_thread_pool_wait_completion'
jni/../../../../thirdparty/openjpeg/src/lib/openjp2/dwt.c:793: error: undefined reference to 'opj_thread_pool_submit_job'
jni/../../../../thirdparty/openjpeg/src/lib/openjp2/t1.c:1656: error: undefined reference to 'opj_tls_get'
jni/../../../../thirdparty/openjpeg/src/lib/openjp2/t1.c:1660: error: undefined reference to 'opj_tls_set'
jni/../../../../thirdparty/openjpeg/src/lib/openjp2/t1.c:1772: error: undefined reference to 'opj_thread_pool_submit_job'
collect2: error: ld returned 1 exit status

使用 ndk-build 64 位编译时,我在 Windows 和 ubuntu 上都尝试过,但在两台机器上仍然出现相同的错误,我无法理解为什么会出现此错误。

遵循这个官方步骤

http://mupdf.com/docs/how-to-build-mupdf-for-android

【问题讨论】:

    标签: android pdf android-ndk mupdf


    【解决方案1】:

    更改 APP_PLATFORM 解决了我的问题。

    我使用this 教程为 android 构建 mupdf

    确保您在 platform/android/viewer/jni/Application.mk

    中有以下内容

    适用于 android 5 之前的版本。* APP_PLATFORM=android-9

    适用于 android 版本 5.* 及之后

    APP_PLATFORM=android-16
    APP_ABI := armeabi-v7a
    
    CFLAGS += -fvisibility=default -fPIE
    LDFLAGS += -rdynamic -fPIE -pie
    

    这将解决您的问题

    【讨论】:

      【解决方案2】:

      更新

      你可以使用我编译的库:

      https://github.com/itzharDev/MuPDF

      如果你想自己编译,尝试使用Docker编译源码


      我构建了 linux docker 镜像来编译 MuPDF 源,我希望尽快发布这个镜像

      【讨论】:

      • 干得好,但你只支持 armeabi armeabi-v7a mips 你能支持其余的 ABI
      猜你喜欢
      • 2012-04-16
      • 2014-12-20
      • 1970-01-01
      • 2014-08-05
      • 1970-01-01
      • 2011-11-09
      • 2012-06-30
      • 2012-04-29
      • 2021-05-06
      相关资源
      最近更新 更多