MonoFromSource
来自Ubuntu中文
通过源代码编译Mono
由于Ubutu/Debian的Mono包发布比较滞后,这一节可以帮你编译最新版的源代码来安装Mono。
这些介绍适用于Ubuntu 5.04 (Hoary Hedgehog), Ubuntu 5.10 以后版本的源里已经有了比较新的Mono。
安装前的准备
因为我们要编译源代码,所以需要做一些准备工作,还要安装Mono所依赖的包。
bash:~$ sudo apt-get install build-essential pkg-config libglib2.0-dev bison libcairo1-dev
现在我们需要建一个工作目录:
bash:~$ mkdir src bash:~$ cd src
libgdiplus
可选 - 尽管libgdiplus不是必需的,但安装它后能提供更多的功能。
bash:~/src/$ sudo apt-get install libungif4-dev libjpeg62-dev libtiff4-dev
下载tar包:
bash:~/src/$ wget http://www.go-mono.com/sources/libgdiplus-1.1/libgdiplus-1.1.9.tar.gz
...解压:
bash:~/src/$ tar xzf libgdiplus-1.1.9.tar.gz bash:~/src/$ cd libgdiplus-1.1.9
现在我们可以编译并安装了:
bash:~/src/libgdiplus-1.1.9/$ ./configure --prefix=/usr/local bash:~/src/libgdiplus-1.1.9/$ make bash:~/src/libgdiplus-1.1.9/$ sudo make install
然后测试一下安装的库是否可用 - 有很多种方法,这里仅提供一种:
bash:~/src/libgdiplus-1.1.9/$ sudo sh -c "echo /usr/local/lib >> /etc/ld.so.conf" bash:~/src/libgdiplus-1.1.9/$ sudo /sbin/ldconfig
离开这个目录...
bash:-~/src/libgdiplus-1.1.9/$ cd ..
...接着进行下一步
Mono
编译Mono:
bash:~/src/$ wget http://www.go-mono.com/sources/mono-1.1/mono-1.1.9.tar.gz bash:~/src/$ tar xzf mono-1.1.9.tar.gz bash:~/src/$ cd mono-1.1.9 bash:~/src/mono-1.1.9/$ ./configure --prefix=/usr/local --with-preview=yes bash:~/src/mono-1.1.9/$ make bash:~/src/mono-1.1.9/$ sudo make install bash:~/src/$ cd ..
你可以用下面的方法检测是否已装好:
bash:~/src/$ mono -V Mono JIT compiler version 1.1.9, (C) 2002-2005 Novell, Inc and Contributors. www.mono-project.com TLS: normal GC: Included Boehm (with typed GC) SIGSEGV : normal Globalization: normal
Gtk#
GTK#有两个版本:Gtk# - 1.x 和 2.x. 不同的应用程序需要不同的版本, 在Mono中可以同时安装两个版本而互不影响。
两者都依赖于 GNOME/GTK+ 开发库, 我们可以安装这些依赖包如下:
bash:~/src/$ sudo apt-get install libgnome-desktop-dev libgtkhtml3.2-dev
还有一些可选择的依赖,- 如果你需要的话可以安装:
bash:~/src/$ sudo apt-get install libgnomedb2-dev librsvg2-dev libvte-dev
安装完这些依赖后,编译可以继续进行。
1.x
bash:~/src/$ wget http://go-mono.com/sources/gtk-sharp/gtk-sharp-1.0.10.tar.gz bash:~/src/$ tar xzf gtk-sharp-1.0.10.tar.gz bash:~/src/$ cd gtk-sharp-1.0.10 bash:~/src/gtk-sharp-1.0.10/$ ./configure --prefix=/usr/local bash:~/src/gtk-sharp-1.0.10/$ make bash:~/src/gtk-sharp-1.0.10/$ sudo make install bash:~/src/$ cd ..
你可以测试如下:
bash:~/src/$ sudo ldconfig bash:~/src/$ mono gtk-sharp-1.0.10/sample/GtkDemo/GtkDemo.exe
2.x
Gtk# 2.x 有一个额外的依赖:
bash:~/src/$ sudo apt-get install libpanel-applet2-dev
bash:~/src/$ wget http://go-mono.com/sources/gtk-sharp-2.0/gtk-sharp-2.3.91.tar.gz bash:~/src/$ tar xzf gtk-sharp-2.3.91.tar.gz bash:~/src/$ cd gtk-sharp-2.3.91 bash:~/src/gtk-sharp-2.3.91/$ ./configure --prefix=/usr/local bash:~/src/gtk-sharp-2.3.91/$ make bash:~/src/gtk-sharp-2.3.91/$ sudo make install bash:~/src/$ cd ..
你可以测试如下:
bash:~/src/$ sudo ldconfig bash:~/src/$ mono gtk-sharp-2.3.91/sample/GtkDemo/GtkDemo.exe
小结
现在你拥有了具有所有功能的Mono/Gtk#开发环境,现在你可以编译/开发你自己的程序了!