Android NDK - 构建 TessTwo(Android 的 Tesseract 工具的分支) - ndk-build 失败

Posted

技术标签:

【中文标题】Android NDK - 构建 TessTwo(Android 的 Tesseract 工具的分支) - ndk-build 失败【英文标题】:Android NDK - building TessTwo (Fork of Tesseract Tools for Android) - ndk-build fails 【发布时间】:2012-03-15 07:22:38 【问题描述】:

当我运行 ndk-build 时,它无法抱怨以下错误:

$ ndk-build
make: /…/android-ndk-r7/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc: Command not found

Compile arm : jpeg <= jcapimin.c
make: /…/android-ndk-r7/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc: Command not found

make: *** [obj/local/armeabi/objs/jpeg/jcapimin.o] Error 127

问题是,虽然上面写着“command not found”,但上面的路径中存在“arm-linux-androideabi-gcc”。即使我直接从 /.../toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/ 运行“arm-linux-androideabi-gcc”,它也会给出相同的错误“找不到命令”

我还将 ./toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin 添加到我的 PATH 中,但仍然遇到相同的错误。即使我尝试了不同版本的 ndk (7, 7b, 6b) 仍然是同样的错误!在我看来,上面的 gcc 适用于 32 位机器,而我的机器是“Linux 2.6.32-37-server x86_64”。但我想 ndk 包应该适用于 32 位和 64 位。我对吗?在使用它之前我需要编译或构建ndk吗?我认为下载和解包是我所要做的。正确的? sdk怎么样?我刚刚将它下载并解压缩到我拥有我的 ndk 的同一个文件夹中。我需要将它们配置为相互协作吗

【问题讨论】:

【参考方案1】:

我遇到了同样的问题。你是对的,问题是由于试图在 64 位内核上运行 32 位二进制文​​件。

我通过安装 32 位兼容性库在 Ubuntu 11.10 上解决了这个问题:

sudo apt-get install ia32-libs

【讨论】:

以上是关于Android NDK - 构建 TessTwo(Android 的 Tesseract 工具的分支) - ndk-build 失败的主要内容,如果未能解决你的问题,请参考以下文章

使用 Android NDK 构建 mariadb 客户端

如何在 OSX for Android studio 中设置 NDK 构建路径

不支持 Android 11(R) 的 NDK 构建

Android gradle 在每次构建时上传 NDK 符号

Android NDK 示例构建错误 linux

Android NDK——必知必会之Android Studio使用CMake构建NDK项目的背后的故事