当前位置:  操作系统/服务器>linux

ubuntu 13.10编译安装mono环境(二)

    来源: 互联网  发布时间:2014-08-25

    本文导语:  准备工作 先在VS2012上编译一个winform,代码如下: using System; using System.Windows.Forms; namespace FormsTest { static class Program { /// /// 应用程序的主入口点。 /// [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCo...

准备工作

先在VS2012上编译一个winform,代码如下:

using System;
using System.Windows.Forms;
namespace FormsTest
{
static class Program
{
/// 
/// 应用程序的主入口点。
/// 
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form());
}
}
}

尝试在ubuntu上用mono运行:

nike@NIKE-PC:~$ cd Desktop/
nike@NIKE-PC:~/Desktop$ ls
FormsTest.exe
nike@NIKE-PC:~/Desktop$ mono FormsTest.exe
Unhandled Exception:
System.TypeInitializationException: An exception was thrown by the type initializer for System.Windows.Forms.XplatUI ---> System.TypeInitializationException: An exception was thrown by the type initializer for System.Drawing.GDIPlus ---> System.DllNotFoundException: /opt/mono-3.2.8/lib/libgdiplus.so
at (wrapper managed-to-native) System.Drawing.GDIPlus:GdiplusStartup (ulong&,System.Drawing.GdiplusStartupInput&,System.Drawing.GdiplusStartupOutput&)
at System.Drawing.GDIPlus..cctor () [0x00000] in :0
--- End of inner exception stack trace ---
at System.Drawing.Graphics.FromHdcInternal (IntPtr hdc) [0x00000] in :0
at System.Windows.Forms.XplatUIX11.SetDisplay (IntPtr display_handle) [0x00000] in :0
at System.Windows.Forms.XplatUIX11..ctor () [0x00000] in :0
at System.Windows.Forms.XplatUIX11.GetInstance () [0x00000] in :0
at System.Windows.Forms.XplatUI..cctor () [0x00000] in :0
--- End of inner exception stack trace ---
at System.Windows.Forms.Application.EnableVisualStyles () [0x00000] in :0
at FormsTest.Program.Main () [0x00000] in :0
[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: An exception was thrown by the type initializer for System.Windows.Forms.XplatUI ---> System.TypeInitializationException: An exception was thrown by the type initializer for System.Drawing.GDIPlus ---> System.DllNotFoundException: /opt/mono-3.2.8/lib/libgdiplus.so
at (wrapper managed-to-native) System.Drawing.GDIPlus:GdiplusStartup (ulong&,System.Drawing.GdiplusStartupInput&,System.Drawing.GdiplusStartupOutput&)
at System.Drawing.GDIPlus..cctor () [0x00000] in :0
--- End of inner exception stack trace ---
at System.Drawing.Graphics.FromHdcInternal (IntPtr hdc) [0x00000] in :0
at System.Windows.Forms.XplatUIX11.SetDisplay (IntPtr display_handle) [0x00000] in :0
at System.Windows.Forms.XplatUIX11..ctor () [0x00000] in :0
at System.Windows.Forms.XplatUIX11.GetInstance () [0x00000] in :0
at System.Windows.Forms.XplatUI..cctor () [0x00000] in :0
--- End of inner exception stack trace ---
at System.Windows.Forms.Application.EnableVisualStyles () [0x00000] in :0
at FormsTest.Program.Main () [0x00000] in :0

遇到错误了System.DllNotFoundException: /opt/mono-3.2.8/lib/libgdiplus.so,原因是如果要在ubuntu运行winform,那么必须要安装libgdiplus。

下载libgdiplus并编译

nike@NIKE-PC:~$ cd src
nike@NIKE-PC:~/src$ wget http://download.mono-project.com/sources/libgdiplus/libgdiplus-2.10.9.tar.bz2
--2014-03-27 22:46:40-- http://download.mono-project.com/sources/libgdiplus/libgdiplus-2.10.9.tar.bz2
Resolving download.mono-project.com (download.mono-project.com)... 54.230.157.116, 54.230.157.204, 54.230.158.216, ...
Connecting to download.mono-project.com (download.mono-project.com)|54.230.157.116|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2074317 (2.0M) [application/x-bzip2]
Saving to: ‘libgdiplus-2.10.9.tar.bz2'
 
100%[======================================>] 2,074,317 224KB/s in 9.5s
 
2014-03-27 22:46:54 (213 KB/s) - ‘libgdiplus-2.10.9.tar.bz2' saved [2074317/2074317]
 
nike@NIKE-PC:~/src$ ls
libgdiplus-2.10.9.tar.bz2 mono-3.2.8 mono-3.2.8.tar.bz2
nike@NIKE-PC:~/src$ tar -xvjf libgdiplus-2.10.9.tar.bz2
nike@NIKE-PC:~/src$ cd libgdiplus-2.10.9/
nike@NIKE-PC:~/src/libgdiplus-2.10.9$ ./configure --prefix=/opt/mono-3.2.8
==============>省略了很多= 2.2.3) were not met:
No package 'glib-2.0' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
 
Alternatively, you may set the environment variables BASE_DEPENDENCIES_CFLAGS
and BASE_DEPENDENCIES_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

遇到错误了,需要安装libglib2.0-dev:

nike@NIKE-PC:~/src/libgdiplus-2.10.9$ sudo apt-get install libglib2.0-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
libglib2.0-0 libglib2.0-bin libpcre3-dev libpcrecpp0 zlib1g-dev
Suggested packages:
libglib2.0-doc
The following NEW packages will be installed:
libglib2.0-dev libpcre3-dev libpcrecpp0 zlib1g-dev
The following packages will be upgraded:
libglib2.0-0 libglib2.0-bin
2 upgraded, 4 newly installed, 0 to remove and 273 not upgraded.
Need to get 2,728 kB of archives.
After this operation, 9,208 kB of additional disk space will be used.
Do you want to continue [Y/n]?
==============>省略了很多省略了很多省略了很多省略了很多省略了很多省略了很多

    
 
 

您可能感兴趣的文章:

  • 在网上下的许多ubuntu程序都需要编译,那应该用什么编译?
  • ubuntu 10.10出现极其诡异的情况,使用gcc编译没任何反应,可以继续输入,但是不提示任何错误;使用make编译效果一样;
  • ubuntu11.10的内核编译
  • ubuntu编译驱动问题
  • 关于在Ubuntu配置C++编译环境的问题
  • ubuntu中预编译出现错误
  • 请教各位高手,有人成功地交叉编译ubuntu9.04源码?
  • ubuntu ARM交叉编译器问题
  • 在UBUNTU当中打开源文件后,如何查看之前编译所产生的一些错误信息呢??
  • ubuntu 10.10环境下的交叉编译求助
  • 请问 ubuntu下怎么编译gcc,谁有详细的过程,能否说一下
  • ubuntu 编译codeblocks 出错
  • ubuntu如何设定编译器默认为gnu99替换c99呢?
  • ubuntu10.4如何安装交叉编译器
  • 求助啊!ubuntu 交叉编译器 arm-none-linux-gnueabi-gcc
  • ubuntu下用gcc编译的程序要怎样运行,为何运行不了?
  • ubuntu8.04下语言的编译问题
  • Ubuntu 下GCC编译简单hello world程序出错
  • ubuntu8.10 编译 uClinux-040408 (ARM)出错
  • ubuntu编译WebKit的出错了!求解!!!!
  • Ubuntu系统安装及升级命令
  • ubuntu10.04下安装openvz,openvz下安装ubuntu10.04,然后安装ipvsadm问题
  • Ubuntu Precise 12.04 (LTS) (64-bit)下面安装docker
  • 装ubuntu的时候选安装ubuntu与win7共存与选其他选项
  • ubuntu系统中软件安装、卸载以及查询是否已经安装某个软件包的方法
  • ubuntu能安装rpm包吗&&ubuntu的intel 945显卡驱动
  • Ubuntu Raring 13.04 和 Saucy 13.10 (64 bit)下面安装docker
  • 安装ubuntu11.04时,过了ubuntu的logo花屏,怎么解决
  • Ubuntu Trusty 14.04 (LTS) 下面安装docker及依赖关系检查
  • 我想根据ubuntu官网上介绍的方法安装ubuntu,是否应该先分一块硬盘空间?
  • Ubuntu Vivid 15.04 下面安装docker的详细步骤
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • ubuntu上配置Java编程环境
  • 关于ubuntu下的JDK环境变量设置
  • 在ubuntu环境下实现自动检测usb设备插入,拔除?的程序呢?
  • 在Ubuntu环境下,如何安装并运行smplayer
  • 请问,Ubuntu9.04下如何配置C语言开发环境
  • Ubuntu中如何配置shell(bash)的环境
  • 如何在ubuntu中搭建java开发环境?
  • 在ubuntu10.10下搭建android环境
  • 装好了ubuntu怎样学习c++,linux下C++学习的环境软件是什么?
  • ubuntu 用的是xampp集成环境,访问phpmyadmin时出错,错误如下:
  • ubuntu9.10怎样让命令行环境全屏?
  • Ubuntu中通过$ vi /etc/profile添加环境变量,怎么保存?
  • ubuntu 10.4 修改环境变量不成功
  • ubuntu下怎样通过deb包手动安装java环境
  • 快疯了!搭个linux(ubuntu)的编程环境怎么那么难!gcc/g加加的依赖关系是什么啊?
  • ubuntu11.04环境tftp Transfer timed out.
  • ubuntu下如何配置jdk环境变量?
  • 为什么我的Ubuntu什么命令都用不了了,怎么改回环境变量
  • 虚拟机环境下ubuntu11.04安装vmtool不成功
  • ubuntu 12.10 上 android 编译环境搭建的深入解析
  • Ubuntu 12.04长期支持版和最新版Ubuntu 13.10下载
  • vmware里装了Ubuntu后Ubuntu.vmdk文件大小和Ubuntu系统大小区别?
  • Ubuntu查看系统信息命令介绍
  • win7与Ubuntu双系统卸载ubuntu
  • Docker官方镜像将会使用Alpine Linux替换Ubuntu
  • winxp+ubuntu32+ubuntu64是否可以这样装系统?
  • Ubuntu查看硬盘,分区相关命令介绍
  • 在win7下装ubuntu成功后进不去ubuntu!!??
  • Ubuntu查看内存,进程相关命令介绍
  • 原来已安装好ubuntu,因系统崩溃,重装WINXP系统,如何再次登录ubuntu系统?
  • linux/Centos/ubuntu下如何使用umask命令修改新建文件时的默认权限




  • 特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3