gpt4 book ai didi

mono - 无法为 ARM 交叉编译 Mono

转载 作者:行者123 更新时间:2023-12-03 17:54:43 26 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Cross-compiling mono for proprietary ARM device

(1 个回答)


7年前关闭。




在过去的三天里,我一直在尝试使用我的 Win7 32 位机器上的虚拟 Ubuntu (12.04) 和 CodeSourcery Sourcery G++ ARM 工具链为 TechNexion Blizzard 板(运行未知版本的 Angstrom)交叉编译 Mono 2.11.4 ,但很少/没有成功。
我已经按照网络上的每个教程进行了操作,但它不起作用。

CodeSourcery Sourcery G++ 工具链和 Scratchbox2(从最新的 git 源代码编译)已安装并运行。 Scratchbox2 设置它使用

sb2-init armv7 /home/dev/CodeSourcery/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi-gcc

而在正确的目录中 (~/CodeSourcery/Sourcery_G++_Lite/arm-none-linux-gnueabi/libc)。

我可以编译一个简单的“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

我下载了 Mono 2.11.4 的源代码并遵循了 instructions 之一.第一部分(在 native 上)运行良好,没有错误。但是,当我运行第二部分(为 ARM 编译)时 ./配置按预期工作但随后 make 失败 “../lib/mini[some_file] 与 arm 输出不兼容” . A 文件 在这些文件上说它们确实是 Intel 80386 可执行文件,但我不知道为什么。

所以下一步是运行 清洁 并重复这些步骤,但仍然产生相同的结果。

然后我尝试 ./配置制作 整个事情都在 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

关于我做错了什么的任何想法,或者关于我可能错过的教程的任何提示?

//安德斯

最佳答案

最好使用 ScratchBox 来编译 native 代码

[sbox-ARMEL: ~] > mkdir cross
[sbox-ARMEL: ~] > cd cross
[sbox-ARMEL: ~] > tar xzf ../mono-x.xx.tar.gz

[sbox-ARMEL: ~] > cd arm-mono-x.xx
[sbox-ARMEL: ~] > ./configure --disable-mcs-build
[sbox-ARMEL: ~] > make
[sbox-ARMEL: ~] > make install DESTDIR=`pwd`/tmptree

另一方面打开一个新终端并构建托管代码。
$ mkdir host-mono
$ cd host-mono
$ tar xzf ../mono-1.xx.tar.gz

$ cd mono-1.xx
$ ./configure
$ make
$ make install DESTDIR=`pwd`/tmptree

关于mono - 无法为 ARM 交叉编译 Mono,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13194610/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com