将MonoDevelop编译到ARMv6,主要是因为我可以在Raspberry Pi上运行它吗?
我注意到Debian can run on the Raspberry Pi and Debian has a set of drivers for Mono。
这是否意味着我们能够在Mono中发展?
答案 0 :(得分:32)
Mono project supports ARM,因此应该能够在Raspberry Pi上构建和使用MonoDevelop。至少那是我所希望的!
2012-05-16
我昨天得到了我的Raspberry Pi(是的!)并且可以确认使用Mono及其MCS编译器模块编译和运行.NET代码(我使用C#测试)是可能的。这一切都是通过shell完成的,而不是GUI。如果可能的话,让MonoDevelop IDE运行会很棒。
对于有兴趣的人,可以输入以下命令安装Mono:
sudo apt-get install mono-complete
这还包括MCS编译器模块,因此您可以简单地编译.cs文件:
mcs program.cs
然后像这样运行:
mono program.exe
答案 1 :(得分:11)
只需添加其他答案的说明,它在Debian安装上运行正常但由于缺少编译器支持而无法在Raspbian安装上运行。更多信息可以在这里找到:
http://www.raspberrypi.org/phpBB3/viewtopic.php?f=66&t=11634&start=25
引用似乎是最明智的答案:
据我了解,Raspbian使用不同的“调用约定”,所以 浮点数在CPU上以不同的方式“转移” 办法。所有编译器都必须创建使用Raspbian的机器代码 召集会议。使用GCC编译的软件没有问题 它被配置为默认使用该调用约定。
然而,当使用不常用的编译器时(如单声道CLI - > 机器代码即时编译器),事情还没有完成。 单声道JIT编译器显然使用旧的调用约定 它编译的一切,因为没有人实现新的调用 单声道的惯例。只要单声道代码没有,这就没问题了 调用一些非单声道代码,但只要你使用原生代码就会中断 库。
这里的细节可能是错误的,但也许它描述了 一般的问题。
编辑:只是为了说清楚,“Raspbian召唤大会” 没有专门为raspbian创建的。它和debian一样 armhf和(我认为)任何其他使用armhf的linux。
答案 2 :(得分:7)
Raspberry Pi上的Mono可以并且相当容易设置。以下假设您使用的是Debian。在MonoDevelop(或Visual Studio中使用Mono库)创建应用程序,然后将其发送到Raspberry Pi。一旦进入Raspberry Pi,它将作为标准运行。由于C#,.NET和JIT的本质,您不必“编译”,只需使用运行时来解释MonoDevelop生成的代码。我不会尝试使用MonoDevelop在Raspberry Pi上进行开发,因为它对设备来说相当重。
这取自提供大量Raspberry Pi教程的my blog。
注意:目前可用的标准Mono运行时最多只支持.NET 3.5,除非您自己从源代码编译。
因此,您希望开始为Raspberry Pi开发一些应用程序,但您对编程的了解仅限于现代.NET语言,如VB.NET和C#。没问题!!欢迎来到Mono世界,这是一个开源的跨平台兼容版本的.NET框架。通过使用开发IDE,例如Visual Studio或更好的MonoDevelop,您可以生成将在Raspberry Pi上运行的EXE文件。您需要做的就是在Raspberry Pi上安装Mono运行时间。为此,我们输入以下行。
sudo apt-get update
sudo apt-get install mono-runtime
正如其他教程中所提到的,第一行用于更新APT-GET包管理器,以确保它使用最新的源代码来下载包。第二行安装并准备运行时以供使用。而已。现在运行一个Mono开发的EXE文件,只需在命令前加上单词“mono”,如下所示。
mono myprogram.exe
答案 3 :(得分:0)