为 android 交叉编译 ghostscript,我应该使用什么主机?

Cross Compiling ghostscript for android, what host should I use?

大家好,我正在使用 this 教程构建 ghostscript-9.19,以便能够在我的 android 应用程序中使用,将 eps 文档转换为 pdf。配置时失败。这是日志

checking whether to enable maintainer-specific portions of Makefiles...
no
checking for gcc... arm-linux-androideabi-gcc -- 
sysroot=/<path>/android-ndk-   
r11c/platforms/android-17/arch-arm/
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... configure: error: in    
`/<path>/ghostscript-9.19/tiff-config':
configure: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details
configure: error: libtiff configure script failed

这是我的构建文件 运行

#!/bin/sh
# Compiles ghostscript for Android
# Make sure you have NDK_ROOT defined in .bashrc or .bash_profile

INSTALL_DIR="`pwd`/app/jni/gs"
SRC_DIR="`pwd`/../ghostscript-9.19"

cd $SRC_DIR

export
PATH="/<path>/android-ndk-r11c/toolchains/arm-        
linux-androideabi-4.9/prebuilt/darwin-x86_64/bin:$PATH"
export SYS_ROOT="/<path>/Android/android-ndk-
r11c/platforms/android-17/arch-arm/"
export CC="arm-linux-androideabi-gcc --sysroot=$SYS_ROOT"
export LD="arm-linux-androideabi-ld"
export AR="arm-linux-androideabi-ar"
export RANLIB="arm-linux-androideabi-ranlib"
export STRIP="arm-linux-androideabi-strip"

mkdir -p $INSTALL_DIR
./configure --host=arm-linux-androideabi --build=x86_64-apple-darwin
--prefix=$INSTALL_DIR LIBS="-lc -lgcc"

make PREFIX=$INSTALL_DIR
make install DESTDIR=$INSTALL_DIR

exit 0

我正在使用 --host=arm-linux-androideabi。我应该使用什么主机?我需要在 ghostScript 项目中更改什么才能成功编译? 非常感谢任何帮助。

交叉编译 Ghostscript 非常复杂,部分原因是 Ghostscript 构建依赖于构建和 运行 临时工具(genarch、genconf、mkromfs 和 echogs),显然,这些工具必须使用本机编译器构建,而不是比交叉编译器。

我认为您遇到的问题是因为对 libtiff 配置的调用没有传递所需的选项。

从这个提交中抓取并调整两个文件(一个 makefile 和一个 header)可能会更好: Makefile for Android MuPDF libgs.so

并调整它以满足您的要求。

本页底部有交叉编译的基本指南: Ghostscript FAQ

我有一个 "project" 来改进对交叉编译的支持,但目前进展缓慢。