有个网友网名是Momo,所以第一次在博客园看到Mono,还以为是TA,仔细一看原来还是有区别的。
经过一番折腾基本了解了Mono。
Mono is a software platform designed to allow developers to easily create cross platform applications. It is an open source implementation of Microsoft's .Net Framework based on the ECMA standards for C# and the Common Language Runtime. We feel that by embracing a successful, standardized software platform, we can lower the barriers to producing great applications for Linux.
官网地址:http://mono-project.com/Main_Page
一个开源的跨平台的.NET运行环境,必须亲自再去折腾一番。
于是特意去装了一台Linux(Fedora 14),本来对Linux也不熟悉,又花了一天去折腾它。
一边折腾Linux 一边下载 mono-2.8.tar.bz2 、libgdiplus-2.8.tar.bz2、MonoDevelop 2.4.2 、Mono Tools for Visual Studio
因为是刚装完Fedora 14,可能还缺少很多库,会遇到一些问题。
1、编译、安装 mono-2.8
下载的文件放到了本地 home/jackal/Documents/Mono/Mono_Install目录下
下载的是源码,下面进行编译 安装. 打开linux终端
[jackal@localhost ~]$ su
Password:
[root@localhost jackal]# cd /home/jackal/Documents/Mono/Mono_Install
[root@localhost Mono_Install]# tar jxvf mono-2.8.tar.bz2 //解压到mono-2.8文件夹
[root@localhost Mono_Install]# cd /home/jackal/Documents/Mono/Mono_Install/mono-2.8
[root@localhost mono-2.8]# ./configure //安装到默认目录下
这一步可能配置出现错误:
configure: error: C compiler cannot create executables
gcc没有安装,重新打开一个终端
[jackal@localhost ~]$ gcc --version
Command not found. Install package 'gcc' to provide command 'gcc'? [N/y] 如果没有安装gcc 这里会提示是否安装,选择y
...
...
Proceed with changes? [N/y] //选择y 提示输入root 密码验证
然后等待下载安装。
如果出现error: you need to install g++ error:you need to install bison error: you need to install the 'gettext' package 和上面安装gcc一样操作。
[root@localhost mono-2.8]# make 开始编译 需要很长时间
[root@localhost mono-2.8]# make install 开始安装
安装完成在终端输入 mono --help 或者 mono --version 可以查看是否安装成功.
2.编译、安装 libgdiplus-2.8
[root@localhost libgdiplus-2.8]# ./configure
(出现: No package 'glib-2.0' found
解决方法:[root@localhost jackal]# yum install libgnomeui-devel)
再次./configure
提示需要安装LibEXIF EXIF TIFF JPEG GIF 包
GIF在sourceforge.net已经没有了,从这里下载 giflib-4.1.6-3.fc14.i686
LibEXIF EXIF安装顺序应该是先装LibEXIF 再装 EXIF
安装EXIF 的时候又遇到错误,晕 真是举步维艰啊
error: libexif/exif-data.h: No such file or directory
compilation terminated.
查看上面配置信息发现如下几句:
Entering directory '/home/jackal/Downloads/exif-0.6.20/libjpeg'
...
actions.h:24:31: fatal error: libexif/exif-data.h: No such file or directory
应该是在/home/jackal/Downloads/exif-0.6.20/libjpeg'目录下没有找到 libexif/exif-data.h这个文件
我直接从libexif-0.6.20目录中把文件夹libexif拷贝到exif-0.6.20/libjpeg目录下
安装成功!
再次[root@localhost libgdiplus-2.8]# ./configure
还是会出现 EXIF tags=No. GIF: no 没有error 不用管了, 然后
[root@localhost libgdiplus-2.8]# make
[root@localhost libgdiplus-2.8]# make install
如果还是未安装成功
[jackal@localhost~]$ libgdiplus --version
提示Downloading list of packages.. 让系统自动下载安装
下面看一下是否能在Linux上运行.NET程序!
首先在windows上写了一个Hello World!程序ConsoleApplication.exe
拷贝到Linux上/home/jackal/Documents/目录下
打开终端:[jackal@localhost Documents]$ mono ConsoleApplication.exe
运行结果:Hello World!
成功输出Hello World!
由于对linux 不熟悉,刚装好的系统,很多包都没有,所以折腾了很久,总算有点结果。
下面准备开始安装MonoDevelop IDE。