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

时间:2013-05-08 21:27:12

标签: android .net mono android-ndk xamarin.android

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

我设置了我的独立环境:

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

除了一些差异。首先,在运行configure之前,我导出每个变量(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时失败:

  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没有定义,但应该是?我错过了某个地方的一步吗?

谢谢!

更新:此版本问题似乎在分支mono-2-10-8和master之间出现。我可以使用mono-2-10-8分支进行精细打造。希望这会有所帮助。

0 个答案:

没有答案