私は過去3日間、仮想Ubuntu(12.04)を使用してTechNexion Blizzardボード(Unstromの不明なバージョンを実行中)用にMono 2.11.4をクロスコンパイルしようとしていました。 Win7 32ビットマシンとCodeSourcery Sourcery G ++ ARMツールチェーンですが、ほとんどまたはまったく成功しません。 私はWeb上のすべてのチュートリアルに従ってきましたが、うまくいきません。MonoをARM用にクロスコンパイルできない
CodeSourcery Sourcery G ++ツールチェーンとScratchbox2(最新のgitソースからコンパイルされたもの)がインストールされ、動作しています。 Scratchbox2はしばらく正しいディレクトリ内(〜/ CodeSourcery社/ Sourcery_G ++ _ライト/アームなし - のlinux-gnueabi/libcの)
sb2-init armv7 /home/dev/CodeSourcery/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi-gcc
を使用してそれを設定しました。
単純な「Hello world」(cpp)をコンパイルし、コンパイルしてボード上で実行することができます。 Ubuntuのでは:
file hello
hello: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, not stripped
私はモノ2.11.4のソースをダウンロードしてinstructionsの1に従いました。最初の部分(ネイティブマシン上)は正常に動作し、エラーは発生しません。しかし、私が2番目の部分(ARMのコンパイル)を実行すると、./configureは期待通りに機能しますが、で失敗します。 "../lib/mini[some_file]はアーム出力"と互換性がありません。 A これらのファイルのファイルは、実際にはIntel 80386の実行可能ファイルだと言いますが、理由はわかりません。
したがって、次のステップではを実行してをクリーンアップして手順を繰り返しますが、それでも同じ結果が得られました。
私はその後は./configureにしようとした代わりSB2内全部を行い、最初で仕事をするように見えました。しかし、その後いくつかのエラーは、ビルドが壊れたポップアップ:
./.libs/libmini.a(libmini_la-mini-arm.o): In function `mono_arch_init':
/home/dev/source/host-mono/mono-2.11.4/mono/mini/mini-arm.c:689: undefined reference to `debugger_agent_single_step_from_context'
/home/dev/source/host-mono/mono-2.11.4/mono/mini/mini-arm.c:689: undefined reference to `debugger_agent_breakpoint_from_context'
/home/dev/CodeSourcery/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi-ld: .libs/libmono-2.0.so.1.0.0: hidden symbol `debugger_agent_single_step_from_context' isn't defined
/home/dev/CodeSourcery/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi-ld: final link failed: Nonrepresentable section on output
私が間違ってやって上の任意のアイデア、または私が見逃している可能性がありますチュートリアル上の任意のヒント?
//アンダース
mono 2.11.4でmono 3.0ではないのはなぜですか? 11は奇数なので「不安定」を意味します – knocte
確かに、私は2.10.9で試してみることができますが、どちらもコンパイルするとは思いません。しかし、私は試みます。 3.0はまだベータ版ですので、これは現在オプションではありません。 – user1143242
モノ3.0がコンパイルされ、古いバージョンではなく、むしろ何もないのではないでしょうか? ;)btwどこで3.0を読んだのですか? – knocte