2

我正在尝试使用 android studio 从 tess-two 项目中构建 eye-two。我为 tess-two 和 eyes-two 做了 ndk-build android ... ant 发布内容,导入了 eyes-two,配置了 ndk.dir 路径等等,但是,在构建时我收到以下错误消息:

allheaders.h: No such file or directory

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':tesstwo:compileReleaseNdk'.
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
/home/italomaia/.apps/android-ndk-r10c/ndk-build NDK_PROJECT_PATH=null APP_BUILD_SCRIPT=/home/italomaia/workspace/eyes-two/tesstwo/build/intermediates/ndk/release/Android.mk APP_PLATFORM=android-8 NDK_OUT=/home/italomaia/workspace/eyes-two/tesstwo/build/intermediates/ndk/release/obj NDK_LIBS_OUT=/home/italomaia/workspace/eyes-two/tesstwo/build/intermediates/ndk/release/lib APP_ABI=all
  Error Code:
    2
  Output:
    In file included from /home/italomaia/workspace/eyes-two/tesstwo/src/main/jni/com_googlecode_leptonica_android/writefile.cpp:17:0:
/home/italomaia/workspace/eyes-two/tesstwo/src/main/jni/com_googlecode_leptonica_android/common.h:22:24: fatal error: allheaders.h: No such file or directory
     #include <allheaders.h>
                        ^
    compilation terminated.
    make: *** [$HOME/workspace/eyes-two/tesstwo/build/intermediates/ndk/release/obj/local/arm64-v8a/objs/tesstwo/$HOME/workspace/eyes-two/tesstwo/src/main/jni/com_googlecode_leptonica_android/writefile.o] Error 1


* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED
4

1 回答 1

0

您应该使用此处的说明构建它。 https://github.com/rmtheis/tess-two/tree/master 我不得不稍微修改说明。要构建最新的 tess-two 代码,请在终端中运行以下命令: git clone git://github.com/rmtheis/tess-two tess cd tess cd tess-two ndk-build android update project --path . --target 13 要构建 eyes-two,另外运行以下命令: cd .. cd eyes-two ndk-build android update project --path . --target 13 从那里我打开 android studio,File->import Sample 并导入 Hello jni 示例。在 android studio 中设置和编译之后,我做了 File->New->Import Module 指向 tess-two 目录选择所有默认值。那时,由于 gradle 问题,它给了我错误。所以我为 tess-two 模块制作了这个 gradle 文件:

apply plugin: 'com.android.model.library'

model {
    android {
        compileSdkVersion = 23
        buildToolsVersion = "23.0.0"

        defaultConfig.with {
            minSdkVersion.apiLevel = 15
            targetSdkVersion.apiLevel = 23
        }
    }


    compileOptions.with {
        sourceCompatibility=JavaVersion.VERSION_1_7
        targetCompatibility=JavaVersion.VERSION_1_7
    }

    android.buildTypes {
        release {
            minifyEnabled = false
            proguardFiles  += file('proguard-rules.txt')
        }
    }
    android.productFlavors {
        // for detailed abiFilter descriptions, refer to "Supported ABIs" @
        // https://developer.android.com/ndk/guides/abis.html#sa
        create("arm") {
            ndk.abiFilters += "armeabi"
        }
        create("arm7") {
            ndk.abiFilters += "armeabi-v7a"
        }
        create("arm8") {
            ndk.abiFilters += "arm64-v8a"
        }
        create("x86") {
            ndk.abiFilters += "x86"
        }
        create("x86-64") {
            ndk.abiFilters += "x86_64"
        }
        create("mips") {
            ndk.abiFilters += "mips"
        }
        create("mips-64") {
            ndk.abiFilters += "mips64"
        }
        // To include all cpu architectures, leaves abiFilters empty
        create("all")
    }

}

然后就搭建成功了

于 2015-09-28T07:49:34.667 回答