You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Glib 2.0.0 Android交叉编译遇configure错误求助

解决交叉编译Glib到Android aarch64时的"cannot run test program while cross compiling"错误

交叉编译时configure无法运行目标平台的测试程序,以下是几种可行的解决方式:

1. 直接指定交叉编译参数与预定义测试结果

手动设置交叉编译工具链路径,同时跳过测试或提前提供测试结果,避免configure尝试运行目标程序:

# 先设置交叉编译工具链环境变量
export CC=aarch64-linux-android-clang
export CXX=aarch64-linux-android-clang++
export AR=aarch64-linux-android-ar
export RANLIB=aarch64-linux-android-ranlib
# 替换为你的Android NDK sysroot路径
export SYSROOT=/path/to/android-ndk/sysroot

# 运行configure,替换构建主机架构和安装路径
./configure --host=aarch64-linux-android \
            --build=x86_64-linux-gnu \
            --prefix=/your/target/install/path \
            --disable-tests \
            ac_cv_func_mmap_fixed_mapped=yes \
            ac_cv_func_memcmp_working=yes \
            ac_cv_have_decl_malloc=yes \
            ac_cv_func_malloc_0_nonnull=yes \
            ac_cv_func_realloc_0_nonnull=yes
  • --build:指定你的编译主机架构(如x86_64 Linux系统填x86_64-linux-gnu)
  • --disable-tests:跳过测试程序编译,彻底避免运行测试的环节
  • ac_cv_*系列变量:提前告知configure测试结果,跳过实际运行测试

2. 初始化Android NDK交叉编译环境

利用Android NDK自带的环境脚本初始化交叉编译环境,再执行configure:

# 替换为你的NDK路径,初始化arm64架构环境
source /path/to/android-ndk/build/tools/setup-env.sh --arch arm64

# 运行configure
./configure --host=aarch64-linux-android \
            --prefix=/your/target/install/path \
            --disable-tests

3. 使用预生成的配置缓存文件

如果有同架构下编译过Glib的config.cache文件,将其放到Glib源码目录,configure会直接读取缓存中的测试结果:

./configure --host=aarch64-linux-android --cache-file=config.cache

4. 确保依赖库已完成交叉编译

Glib依赖zlib、libffi、pcre2等库,这些库需要先交叉编译到Android平台,再在configure时指定路径:

./configure --host=aarch64-linux-android \
            --prefix=/your/target/install/path \
            --disable-tests \
            --with-zlib=/path/to/cross-compiled/zlib \
            --with-libffi=/path/to/cross-compiled/libffi \
            --with-pcre2=/path/to/cross-compiled/pcre2

内容的提问来源于stack exchange,提问作者Arun Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 07:32:59