Fedora提供的RPM版的Mono版本比较低,为了学习体验最新版,就自己编译了一遍,整体流程比较简单,这里做个笔记记录一下。其他的一些插件就根据需要自行安装吧,走完这个流程,其他的就是小意思啦。
以下安装的版本为目前最新版(2011.5.21) Mono 2.10.2 和 MonoDevelop 2.4.2
需要下载的文件列表如下:
- Mono运行时:mono-2.10.2.tar.bz2
- GTK Bind:gtk-sharp-2.12.10.tar.bz2
- GNOME Bind:gnome-sharp-2.24.1.tar.bz2
- Mono Addins:mono-addins-0.6.1.tar.bz2
- GDI+的Linux移植版本:libgdiplus-2.10.tar.bz2
- MonoDevelop:monodevelop-2.4.2.tar.bz2
可以从这里进行下载:
http://ftp.novell.com/pub/mono/sources/
- 安装Mono运行时
tar -xvf mono-2.10.2.tar.bz2 cd mono-2.10.2 ./configure --prefix=/usr make make install
整个过程应该不存在大的问题
- 由于MonoDevelop需要其他的一些依赖库,这些库在系统中没有默认安装,Mono运行时也没有直接提供,所以这里要手动安装
安装GDI+
tar -xvf libgdiplus-2.10.tar.bz2
cd libgdiplus-2.10
./configure --prefix=/usr
make
make install
安装GTK Bind
tar -xvf gtk-sharp-2.12.10.tar.bz2 cd gtk-sharp-2.12.10 ./configure --prefix=/usr make make install
安装GNOME Bind
安装目前版本的GNOME Bind的时候,由于版本更新有些不同步,所以直接编译会出现Mono.GetOptions.dll找不到的错误提示,这里需要注意修正以下Makefile文件
tar -xvf gnome-sharp-2.24.1.tar.bz2
cd gnome-sharp-2.24一
./configure --prefix=/usr
Makefile文件生成之后,这里需要修改sample相关文件的Makefile
由于这里的Mono.GetOptions.dll被开发组重命名为Mono.Options.dll,但是GNOME Bind包还没有及时更新,所以回会出现找不到该dll的问题,考虑到该dll只是在测试程序TestXfer.exe中使用,影响不大,所以这里直接注释掉TestXfer.exe的生成和运行即可。
进入子目录sample/gnomevfs,打开其中的Makefile文件,将如下几行注释掉就可以了:
注释掉221行:
EXTRA_TARGET = TestXfer.exe
注释掉449和450行:
TestXfer.exe: $(srcdir)/TestXfer.cs $(assemblies)
$(CSC) /out:TestXfer.exe $(references) -r:Mono.GetOptions.dll $(srcdir)/TestXfer.cs
然后退出子目录,进入到父目录gtk-sharp-2.12.10,继续执行:
make
make install
安装Mono Addins
tar -xvf mono-addins-0.6.1.tar.bz2 cd mono-addins-0.6.1 ./configure --prefix=/usr make make install
安装完成相关依赖之后,就可以开始安装Monoevelop了
tar -xvf monodevelop-2.4.2.tar.bz2 cd monodevelop-2.4.2 ./configure --prefix=/usr make make install
截张图过来: