使用 android ndk 独立工具链构建 mono (android ndk r8e)

2024-04-29

我正在尝试使用 android ndk(版本 r8e)中的 ndk 独立工具链构建 mono,但我无法完成构建。

我像这样设置我的独立环境:

export SYSROOT=/home/jeremybell/Desktop/android-ndk-r8e/platforms/android-14/arch-arm
/home/jeremybell/Desktop/android-ndk-r8e/build/tools/make-standalone-toolchain.sh --platform=android-14 --install-dir=./android-14-toolchain

接下来,我配置单声道。我正在使用类似于此处显示的示例的内容:http://permalink.gmane.org/gmane.comp.gnome.mono.patches/181374 http://permalink.gmane.org/gmane.comp.gnome.mono.patches/181374

除了一些差异之外。首先,我在运行配置之前导出每个变量(AR、AS、CC 等),包括 SYSROOT(配置脚本不再采用 --sysroot=/path/to/sysroot 选项)。其次,我添加了 --with-sgen=yes --disable-boehm

这是我的环境和 autogen.sh 命令:

export NDK=/home/jeremybell/Desktop/android-ndk-r8e
export SYSROOT=$NDK/platforms/android-14/arch-arm
export NDK_STANDALONE=/home/jeremybell/Desktop/monodevsrc/ndk_standalone
export PATH=$NDK_STANDALONE/bin:$PATH
export CC=arm-linux-androideabi-gcc
export CXX=arm-linux-androideabi-g++
export AR=arm-linux-androideabi-ar
export AS=arm-linux-androideabi-as
export CPP=arm-linux-androideabi-cpp
export LD=arm-linux-androideabi-ld
export RANLIB=arm-linux-androideabi-ranlib
export STRIP=arm-linux-androideabi-strip
./autogen.sh --build=`./config.guess` --host=armv5-linux-androideabi --target=armv5-linux-androideabi --enable-nls=no --with-mcs-docs=no --enable-mcs-build=no --with-glib=embedded --with-monodroid=yes CFLAGS="-DARM_FPU_NONE=1" CXXFLAGS="-DARM_FPU_NONE=1"

配置似乎运行良好,但在构建 mono_sgen-main.o 时 make 失败:

  CC     libmini_static_la-tramp-arm.lo
  CC     libmini_static_la-mini-posix.lo
  CXXLD  libmini-static.la
  CC     mono_sgen-main.o
main.c:7:22: fatal error: buildver.h: No such file or directory
compilation terminated.
make[4]: *** [mono_sgen-main.o] Error 1
make[4]: Leaving directory `/home/jeremybell/Desktop/monodevsrc/mono/mono/mini'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/home/jeremybell/Desktop/monodevsrc/mono/mono/mini'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/jeremybell/Desktop/monodevsrc/mono/mono'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/jeremybell/Desktop/monodevsrc/mono'
make: *** [all] Error 2

违规行:

#include <config.h>
#include "mini.h"
#ifndef HOST_WIN32
#ifdef HAVE_SGEN_GC
#include "buildver-sgen.h"
#else
#include "buildver.h"
#endif
#endif

所以,看起来 HAVE_SGEN_GC 没有定义,但应该是?我是否在某个地方错过了一步?

Thanks!

更新:这个构建问题似乎是在分支 mono-2-10-8 和 master 之间突然出现的。我能够使用 mono-2-10-8 分支构建良好的版本。希望这有帮助。


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 android ndk 独立工具链构建 mono (android ndk r8e) 的相关文章

随机推荐