歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 如何在 Windows 上構建 Mono 3.4.0/3.4.1

如何在 Windows 上構建 Mono 3.4.0/3.4.1

日期:2017/2/28 14:31:44   编辑:Linux教程

介紹

本文綜合了很多現有文章並總結了如何在Windows下創建Mono。

如何你想找編譯好的Mono 3.4.0版本,請直接訪問這裡

Mono項目的基礎教程在這裡可以找到。

理論上,我所提供的這些教程應該足夠讓你去成功編譯Mono了。但是,在實際操作過程中,可能會略微復雜些。所以其他人也提供了一些補充文檔,叫我們怎麼編譯Mono。這其中,這個《Building Mono on Windows: The Final Battle"》教程尤其有幫助。

雖然這麼說,但是這些教程已經是很多年前的了,使用的過程中難免會遇到問題,針對這些問題,我提供以下詳細完整教程。

我們現從當前的版本(當我寫這篇文章時,Mono發布的版本是3.4.0)構建,然後再從git的代碼庫中構建最新的版本。

在Linux(Ubuntu/openSUSE/CentOS)下配置ASP.NET(Apache + Mono) http://www.linuxidc.com/Linux/2013-07/87599.htm

配置Linux(Apache) + Mono 下運行 asp.net http://www.linuxidc.com/Linux/2013-07/87598.htm

如何升級Mono http://www.linuxidc.com/Linux/2013-06/85391.htm

在Mono 3.0 下運行ASP.NET 4網站的主意事項 http://www.linuxidc.com/Linux/2013-06/85394.htm

在Ubuntu操作系統上安裝Mono和Jexus搭建.NET的運行環境 http://www.linuxidc.com/Linux/2013-06/85388.htm

主要步驟如下:

  • 安裝預編譯的Mono

  • 安裝&配置Cygwin

  • 下載並解壓Mono的源代碼

  • 構建Mono

  • 修改 Cygwin/Mono 來解決構建過程中出現的問題

  • 安裝 Mono 並修改安裝配置

  • 針對Xamarin Studio的一些修改和配置

  • 從git下載源代碼,並構建Mono

這個步驟在Windows 8.1 64位的系統下測試可用。

安裝編譯好的Mono執行文件

一個穩定並完成編譯的Mono 3.2.3可以在這裡下載。下載並安裝它。

從開始欄打開命令行,之後用一下命令檢查它是否正常運行著:

1 mono --version

你應該看到以下信息出現,並且確定版本是3.2.3:

C:\Program Files (x86)\Mono-3.2.3>mono --version
Mono JIT compiler version 2.10.9 (tarball)
Copyright (C) 2002-2011 Novell, Inc, Xamarin, Inc and Contributors. www.mono-pro
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教程裡提到了很多關於包的細節,這些包應該是:

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

在《Final Ba ttle instructions》說提到了這些包:

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

另外,我們最好也要這些包:

1 wget, 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: 4 none /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: 4 none /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

在配置進程結束的時候,我們能夠看到類型下面的一些輸出:

01 mcs source: mcs 02 03 Engine: 04 GC: sgen and bundled Boehm GC with typed GC and parallel mark 05 TLS: pthread 06 SIGALTSTACK: no 07 Engine: Building and using the JIT 08 oprofile: no 09 BigArrays: no 10 DTrace: no 11 LLVM Back End: no (dynamically loaded: no) 12 13 Libraries: 14 .NET 2.0/3.5: yes 15 .NET 4.0: yes 16 .NET 4.5: yes 17 MonoDroid: no 18 MonoTouch: no 19 Xamarin.Mac: no 20 JNI support: no 21 libgdiplus: assumed to be installed 22 zlib:

一旦配置結束,我們就可以用以下方式來開始構建進程了。

1 $ make

更多詳情見請繼續閱讀下一頁的精彩內容: http://www.linuxidc.com/Linux/2014-05/102123p2.htm

Copyright © Linux教程網 All Rights Reserved