http://www.cnblogs.com/basilwang/archive/2011/11/29/2267809.html

想做独立引用的估计都看过这一篇文章,但是因为软件更新,很多地方已经不适应了,所以我使用的时候遇到很多麻烦,所以记录下来,让后来人少走弯路。

Cygwin Terminal这个更新比较快,所以对于的安装也有改变,比如gcc

比如我在Cygwin的home目录的user下放一个Release要发布的程序。

先执行下面的命令

mkbundle -c -o host.c -oo bundle.o --deps Release/MonoLoad.exe  Release/System.dll

再在host.c文件中移除_WIN32。增加#undef _WIN32如下:

#ifdef _WIN32
#include <windows.h>
#endif

得到:

#ifdef _WIN32
#include <windows.h>
#endif
#undef _WIN32

再执行下面的命令

i686-pc-mingw32-gcc -o MonoLoad.exe  -Wall host.c `pkg-config --cflags --libs mono-2` bundle.o

就会生成一个新的MonoLoad.exe文件

这样就大功告成了。

其实最主要的是编译器的安装,上面文章里面的“gcc -mno-cygwin -o ResultantBundle.exe -Wall host.c`pkg-config --cflags --libs mono-2|dos2unix` bundle.o <additional arguments>”很容易误解,其实是一个gcc编译器的选择,而我选了i686-pc-mingw32-gcc

对"使用Mono Runtime Bundle制作安装包让C#桌面应用程序脱离net framework"增加说明的更多相关文章

  1. 使用Mono Runtime Bundle制作安装包让C#桌面应用程序脱离net framework

    在Xamain 未被收购之前,这货monodroid.exe  就是一个打包的绑定...无奈 配置环境复杂,未能实现 ...有mono运行时就行了..不折腾了 玛德 让C#程序独立运行(脱离 .NET ...

  2. 解决Inno Setup制作安装包无法创建桌面快捷方式的问题

    转自:http://yedward.net/?id=104 昨天想把个java程序做成exe安装软件,然后就去下载了Inno Setup这个软件安装包制作软件,Inno Setup这个软件确实非常好用 ...

  3. [转]NSIS 制作安装包无法创建桌面快捷方式或无法删除开始菜单项

    用户将桌面文件转移了,如: D:\Doc\Desktop  ,安装程序后,桌面不会生成快捷方式, 或者卸载后,开始菜单中的文件也不会被删除 NSIS卸载后无法删除开始菜单中的内容原因:因为NSIS中使 ...

  4. 使用Qt installer framework制作安装包

    一.介绍 使用Qt库开发的应用程序,一般有两种发布方式:(1)静态编译发布.这种方式使得程序在编译的时候会将Qt核心库全部编译到一个可执行文件中.其优势是简单单一,所有的依赖库都集中在一起,其缺点也很 ...

  5. 使用Qt installer framework制作安装包(不知道是否适合Mac和Linux?)

    一.介绍 使用Qt库开发的应用程序,一般有两种发布方式:(1)静态编译发布.这种方式使得程序在编译的时候会将Qt核心库全部编译到一个可执行文件中.其优势是简单单一,所有的依赖库都集中在一起,其缺点也很 ...

  6. Wix制作安装包

    Wix制作安装包,找起资料来很费劲,记录一下: Product.wxs,该文件只能制作出msi形式的安装包,不能做到自动检测framework. <?xml version="1.0& ...

  7. 循序渐进做项目系列(5):制作安装包,谁人都可以!——VS制作安装包简明教程

    一开始让我做安装包的时候,其实我是拒绝的.因为我根本就不会做安装包.查了资料之后,我很懵,很晕,很乱,因为不清晰,不简明,不直白.然而经过一番彷徨的挣扎,我终于发现:制作安装包,谁人都可以!故挥狼毫, ...

  8. 【原创】VB6.0应用程序安装包的生成(Setup Factory 9.0制作安装包的方法)

    VB6.0应用程序安装包的生成,利用其自带的打包工具生成的安装程序很简陋,一点不美观:如果想让自己的应用程序安装的时候显得高大上一点,本教程提供使用Setup Factory 9.0制作安装包的方法. ...

  9. VS 制作安装包小窥

    难得忙里偷闲,看到有关VS制作安装包,按下文小试一把,还行,比不上Installshield. 首先在打开 VS2010    >   文件 >新建项目 创建一个安装项目  XXX 在“目 ...

随机推荐

  1. 深度解析国内O2O模式

    今日在网上发现这篇文章很棒,详细的分析了当前BAT矩阵下的o2o 的模式.所以转载过来与大家一起分享. 文章来自于:http://www.siilu.com/20151214/158917.shtml ...

  2. 解决VS2008 开发Windows Mobile 项目生成速度慢的问题

    最近用VS2008开发Windows Mobile程序,使用C#..NET Compact Framework,发现项目生成速度比较慢.用VS2008打开项目后,开始一段时间生成速度还能忍受,时间一长 ...

  3. KVM虚拟化(一)—— 介绍与简单使用

    一.架构及介绍 KVM(Kernel-based Virtual Machine)它由 Quramnet 开发,该公司于 2008年被 Red Hat 收购: 自Linux 2.6.20后整合到内核, ...

  4. update field

    UPDATE dbo.HotelPolicy  SET HPFactorMark=TB.MarkValue FROM (select HPF.HPFRPolicyId AS ID ,CONVERT(i ...

  5. 使用PetaPoco ORM 框架分页查询

    通过在派生的Repository中调用GetPagingEntities方法来获取分页数据,并返回由PagingDataSet<T>封装分页集合,例如: Public PagingData ...

  6. BZOJ1070 修车-费用网络流

    http://www.lydsy.com/JudgeOnline/problem.php?id=1070 Description 同一时刻有N位车主带着他们的爱车来到了汽车维修中心.维修中心共有M位技 ...

  7. Java程序员面试宝典——重要习题整理

    1.下面程序的输出结果是() public class Test { public static void main(String[] args) { int j = 0 ; for(int i = ...

  8. 通过fileupload上传文件超出大小

    配置文件 . web.config中添加如下内容: <configuration> <system.web> <httpRuntime maxRequestLength= ...

  9. sql语句中日期时间格式化查询

          今天在做会员管理系统搜索时,我发现以前的搜索时间方式不太科学,效率也不是太高.由其是在查询指定的时间相等的时候,我在数据库中都存这样的时间格式"2007-5-22 14:32:1 ...

  10. WF4.0 Activities<第一篇>

    一.基元工具 1.Delay Delay用于延迟一段时间执行下面的流程.在WF中实例是单线程运行的,Delay并不是Thread.Sleep方法实现的. Delay有一个Duration属性,用于设置 ...