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 失败的主要内容,如果未能解决你的问题,请参考以下文章
如何在 OSX for Android studio 中设置 NDK 构建路径