1. 程式人生 > >使用NDK編譯mono

使用NDK編譯mono

g++ 變量 tracking 定義 gin 安裝 threads linux idea

1.下載並安裝ndk

2.導出NDK文件夾到環境變量

export NDK=/var/data/android-ndk-r10e

3.執行NDK的工具鏈

$NDK/build/tools/make-standalone-toolchain.sh--platform=android-18 --install-dir=/tmp/my-android-toolchain --arch=arm

4.導出編譯環境

export NDK=/var/data/android-ndk-r10e
export PATH=/tmp/my-android-toolchain/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

export SYSROOT=$NDK/plarforms/android-18/arch-arm

6.進入mono源代碼文件夾,配置

./configure --host=armv7-a-linux-androideabi--enable-minimal=profiler,logging --with-tls=__thread --with-monotouch=no--without-mcs-docs --with-sigaltstack=no --disable-mcs-build --enable-nls=no

make

make install `pwd`/temptree

註意:

這個版本號編譯 鏈接的時候可能出現 mono_threads_core_get_stack_bounds 沒有定義的引用問題,打開mono/utils/mono-threads-linux.c ,改動:

//#if defined(__linux__) &&!defined(PLATFORM_ANDROID)

#if defined(__linux__)

再次編譯。能夠完畢

在cygwin工具上編譯mono可能出現某些文件不能找到的問題。建議在linux環境編譯。

使用NDK編譯mono