如何在 Windows 上构建 Mono 3.4.0/3.4.1



如何在 Windows 上构建 Mono 3.4.0/3.4.1

[日期:2014-05-23]来源:oschina.net 作者:中奖啦, 白文, 最帅站长, linminky, IT耕耘者[字体:]

介绍

本文综合了很多现有文章并总结了如何在Windows下创建Mono。

如何你想找编译好的Mono 3.4.0版本,请直接访问这里。

Mono项目的基础教程在这里可以找到。

理论上,我所提供的这些教程应该足够让你去成功编译Mono了。但是,在实际操作过程中,可能会略微复杂些。所以其他人也提供了一些补充文档,叫我们怎么编译Mono。这其中,这个教程尤其有帮助。

虽然这么说,但是这些教程已经是很多年前的了,使用的过程中难免会遇到问题,针对这些问题,我提供以下详细完整教程。

我们现从当前的版本(当我写这篇文章时,Mono发布的版本是3.4.0)构建,然后再从git的代码库中构建最新的版本。

在Linux(Ubuntu/openSUSE/CentOS)下配置ASP.NET(Apache + Mono)

配置Linux(Apache) + Mono 下运行 asp.net

如何升级Mono

在Mono 3.0 下运行ASP.NET 4网站的主意事项

在Ubuntu操作系统上安装Mono和Jexus搭建.NET的运行环境

主要步骤如下:

安装预编译的Mono

安装&配置Cygwin

下载并解压Mono的源代码

构建Mono

修改 Cygwin/Mono 来解决构建过程中出现的问题

安装 Mono 并修改安装配置

针对Xamarin Studio的一些修改和配置

从git下载源代码,并构建Mono

这个步骤在Windows 8.1 64位的系统下测试可用。

安装编译好的Mono执行文件

一个稳定并完成编译的Mono 3.2.3可以在这里下载。下载并安装它。

从开始栏打开命令行,之后用一下命令检查它是否正常运行着:

1mono –version

你应该看到以下信息出现,并且确定版本是3.2.3:

C:\Program Files (x86)\Mono-3.2.3>mono –versionMono JIT compiler version 2.10.9 (tarball)Copyright (C) 2002-2011 Novell, Inc, Xamarin, Inc and Contributors. ject.com TLS: normal SIGSEGV: normal Notification: Thread + polling Architecture: x86 Disabled: none Misc: softdebug LLVM: supported, not enabled. GC: Included Boehm (with typed GC and Parallel Mark)C:\Program Files (x86)\Mono-3.2.3>

安装Cygwin

下载并安装32位的Cygwin,这是一款在Windows下模拟Unix命令行的工具,,我们用它来创建Mono。安装教程可以参考这里。

安装过程中,你会被提示要选择安装必要的包。我们创建Mono所需要的包并没有在默认安装设置里,所以我们要手动选择他们。

在Mono on Windows教程里提到了很多关于包的细节,这些包应该是:

1autoconf, automake,bison, gcc-core, gcc-g++,mingw-gcc, libtool, make, python,

在《Final Ba ttle instructions》说提到了这些包:

1gettext-devel, gettext, intltool, libiconv, pkg-config

另外,我们最好也要这些包:

1wget, zip patch, openssh, vim

配置 Cygwin

有人通过 mono-dev 的邮件列表向我建议说,Cygwin 应该可以通过配置 “noacl” 选项来挂载系统的宿主系统的磁盘驱动器,否则的话,进行文件访问的时候可能会出问题。你可以点击此处还有此处了解详情。

从开始菜单中打开Cygwin,编辑 /etc/fstab 文件,并按照下面的指示操作:

1# For a description of the file format, see the Users Guide

2# http://cygwin.com/cygwin-ug-net/using.html#mount-table

3# This is default anyway:

4none /cygdrive cygdrive binary,posix=0,user 0 0

把 noacl 选项添加进去,如下所示:

1# For a description of the file format, see the Users Guide

2# http://cygwin.com/cygwin-ug-net/using.html#mount-table

3# This is default anyway:

4none /cygdrive cygdrive binary,noacl,posix=0,user 0 0

你可能需要关掉Cygwin并重新打开它来确保使刚才的修改生效。你可以通过运行 ‘mount’ 命令看一下 ‘noacl’是否在其输出的内容里面,以便检查配置是否生效。

获取 Mono 发行包

当我写这篇文章的时候,Mono的最新发布版本是3.4.0。在Windows下,还没有该版本的安装包,最新的安装包是3.2.3。我们要在这里构建一个3.4.0版本的二进制包。

你可以从这里下载 Mono 3.4.0 的源代码,并把它解压到你的磁盘上。

你需要使用 Cygwin来下载和解压源码。你也可以在Cygwin外部做这些事,但是如果你不注意的话,可能会发现代码中的换行符(CRLF)被修改掉了,这很可能会导致构建失败。

所以,打开 Cygwin 终端命令行:

1$ cd /cygdrive/c $ mkdir monosources$ cd monosources $ wget http://download.mono-project.com/sources/mono/mono-3.4.0.tar.bz2

2$ tar xjvf mono-3.4.0.tar.bz2

从Mono发布的压缩包中构建

构建Mono的时候可能会出现一些错误,如文件丢失,或者和Cygwin的头文件冲突等。如果出现错误,我们可以按照下面的说明来修正错误,但是我们现在要做的是开始构建Mono,看看我们能走到哪一步。

我们要给 Mono 3.4.0 指定一个目标文件夹,并且我们将要把它设置成安装目录。如下所示:

1$ cd /cygdrive/c

2$ mkdir monoinstall

3$ cd monosources/mono-3.4.0

4$ ./autogen.sh –prefix=”C:\monoinstall” –with-preview=yes

注意:我们给 –prefix指定的是Win32指定的路径格式,而不是Cygwin或 *nix的路径格式。

Autogen应该顺利的完成,接下来我们就要配置构建命令了,如autogen推荐的那样:

1$ ./configure –host=i686-pc-mingw32

在配置进程结束的时候,我们能够看到类型下面的一些输出:

01mcs source: mcs

02

03Engine:

04GC: sgen and bundled Boehm GC with typed GC and parallel mark

05TLS: pthread

06SIGALTSTACK: no

07Engine: Building and using the JIT

08oprofile: no

09BigArrays: no

10DTrace: no

11LLVM Back End: no (dynamically loaded: no)

12

13Libraries:

14.NET 2.0/3.5: yes

15.NET 4.0: yes

16.NET 4.5: yes

17MonoDroid: no

18MonoTouch: no

19Xamarin.Mac: no

20JNI support: no

21libgdiplus: assumed to be installed

22zlib:

一旦配置结束,我们就可以用以下方式来开始构建进程了。

1$ make

更多详情见请继续阅读下一页的精彩内容:

0

VirtualBox安装增强功能时The headers for the current running kernel were not found

Ubuntu 14.04安装文版编辑器 KKEdit 0.1.5

把你的脸迎向阳光,那就不会有阴影

如何在 Windows 上构建 Mono 3.4.0/3.4.1

相关文章:

你感兴趣的文章:

标签云: