2013-07-30 85 views
3

我有不同的C#應用​​程序應該在Android設備上運行。 (ARMv7的) (我不想寫使用Xamarin的應用程序。)Compile Mono for Android ARM7

首先,我試圖編譯單3.2.0和單聲道2.11.4用兩種不同的工具鏈(CodeSourcery的和NDK-獨立的工具鏈)

./configure -disable-mcs-build -host = arm-linux-androideabi -target = arm-linux-androideabi -disable-boehm --with-sigaltstack = no CFLAGS =「 - march = arm7-a -mfloat-abi = softfp -mfpu = neon「

編譯過程成功完成,但二進制文件不可執行。 (CHMOD是777)

「文件單SGEN」的輸出是 ELF 32位LSB的可執行文件,ARM,版本1(SYSV),動態鏈接(使用共享庫),用於GNU/Linux 2.6。 16,不可剝離

當我想執行單SGEN:

./mono-sgen
SH:./mono-sgen:沒有這樣的文件或目錄

我也是o試圖用單聲道文件中提到的scratchbox構建它,但它也不起作用。任何想法或提示?

+1

你有沒有想過如何做到這一點?您是否必須使用android工具鏈構建? – zezba9000

回答

0

根據the last blog posts of this Xamarin engineer,你需要Mono master(而不是3.2)來進行大量精彩的Mono + ARM改進。

+1

當我使用以下設置時,編譯工作正常:'./autogen.sh --host = arm-none-linux-gnueabi --target = arm-none-linux-gnueabi --with-tls = pthread --with- igaltstack = no --disable-mcs-build',但構建不能在android設備上運行。如果我用android工具鏈進行編譯,我在鏈接**/mono/mini/main.c的時候出錯了。**對mono_main的引用和對mono_build_date的引用是未定義的。 – Manuel

+0

您是否像我告訴過的那樣編譯master?無論如何,我建議你掛在irc://irc.gnome.org/monodev並ping alexrp關於它 – knocte