上一篇说了如何编译 Android 下的 mono,这里简要说下编译 windows 版本的 mono,就是 mono.dll,Unity 版本只有一个 mono.dll,官方的 mono,好几个可执行文件。由于一开始用了 mingw 和 msys 编译的 android 版本,所以我变顺其自然的也是用这个环境编译。

  我分辨尝试和修改了 external/buildscripts 下面的:build_runtime_win.pl, build_runtime_win64.pl, build-mingw32.sh 等,其中包括了从 Unity-Technologies/monobuildtools 下载后合并修改的各种脚本。总之是各种失败。

  后来我才使用本机安装的 vs2015 打开了 msvc/mono.sln 进行编译,但是依然是大部分编译通过,卡在一些小错误怎么都解决不了。由于 mono.sln 是 vs2010 的项目,于是我就做最后的打算实在不行就放弃,安装了 vs2010,然后最后所有编译通过,但是链接失败了,查阅了下资料是发现没有安装 sp1,是 vs 的 bug,安装 vs2010 sp1 后,一切顺利,可以编译出 x86/x64位,分别位于:

  x86: buildsembedruntimes/win32/mono.dll

  x64: buildsembedruntimes/win64/mono.dll

  结论:直接安装 vs2010 sp1 打开 msvc/mono.sln 直接编译对应平台下的整个解决方案即可,mono 的编译环境是比较复杂的,有很多编译中动态生成代码,就像 luajit。


2017-07-09 更新:

  感谢 @ST 同学的提醒,在这里忘了说了,如果使用默认的 Debug 编译,会出现 glib.h 找不到文件的依赖错误,但是 Release 能正常编译通过,当时我也遇到了这个问题但是忘记在这里写出来,我直接使用 Release 的结果去后续的工作了,看来还是会有人同样在这里埰坑。至于具体的原因由于时间原因没有仔细研究,如果有知道或者有挖掘过的同学请告知下。

编译 Windows 版本的 Unity Mono(2017-03-12 20:59)的更多相关文章

  1. FFmpeg笔记:使用MSVC工具链编译Windows版本静态库、动态库

    2019年3月开始,为了将音视频编解码功能集成到Cocos2d-x中,开始接触到FFmpeg: 当时开发环境还在Mac下,编译FFmpeg相比现在用Windows平台要方便的多: 最近,公司内部有个U ...

  2. 基于 Ubuntu 编译 windows 版 adb

    . . . . . adb 的源码在 Android 源码树中,所以只能在 Linux 下编译,而在 Linux 下编译 windows 版本的应用就需要使用交叉编译器 MinGW 了. 环境: Ub ...

  3. hiredis的各种windows版本

    hiredis的各种windows版本(金庆的专栏 2016.12)hiredis 是内存数据库 redis 的客户端C库, 不支持Windows.hiredis的Windows移植版本有许多:des ...

  4. Windows 下使用 mingw+msys 交叉编译 Android Unity Mono

    对于没有升级到 Unity5.4的用户,发布安卓版本都会有对 C# 脚本进行加密的需求,我们项目在裸奔了很长时间后,决定开始做这件事. 网上查看了很多资料,我很希望直接在 windows 下编译而不去 ...

  5. zlib开发笔记(四):zlib库介绍、编译windows vs2015x64版本和工程模板

    前言   Qt使用一些压缩解压功能,介绍过libzip库编译,本篇说明zlib库.需要用到zlib的msvc2015x64版本,编译一下.   版本编译引导 zlib在windows上的mingw32 ...

  6. Unity Mono脚本 加密

    加密环境 引擎版本:Unity3D 5.3.4 及更高版本 (使用Mono而并非IL2CPP) 操作系统:CentOS 6.2(Final) 加密环境:Android.IOS(暂定) 加密对象:C#源 ...

  7. MinGW-w64安装教程——著名C/C++编译器GCC的Windows版本

    本文主要讲述如何安装 C语言 编译器——MinGW-w64,特点是文章附有完整详细的实际安装过程截图,文字反而起说明提示作用. 编写本文的原因始于我的一个观点:图片可以比文字传达更多的信息,也能让其他 ...

  8. MinGW安装教程——著名C/C++编译器GCC的Windows版本

    前言本文主要讲述如何安装 C语言 编译器——MinGW,特点是文章附有完整详细的实际安装过程截图,文字反而起说明提示作用. 编写本文的原因始于我的一个观点:图片可以比文字传达更多的信息,也能让其他人更 ...

  9. 《⑨也懂系列:MinGW-w64安装教程》著名C/C++编译器GCC的Windows版本(MinGW-w64在安装的时候可以选择版本,有图,一步一步)

    发布日期 2016年10月31日 分类 教程 标签 编程.软件 前言<⑨也懂系列:MinGW-w64安装教程>这篇文章由 rsreland (http://rsreland.net)于 2 ...

随机推荐

  1. SPOJ 104 HIGH - Highways

    HIGH - Highways http://www.spoj.com/problems/HIGH/ In some countries building highways takes a lot o ...

  2. SQL Server Compact/SQLite Toolbox

    如果你的vs2013 无法打开 .sdf 数据库文件. 那么 SQL Server Compact/SQLite Toolbox,可以帮助你. 下载安装后, vs2013->tools-> ...

  3. 【CC2530入门教程-02】CC2530的通用I/O端口输入和输出控制

    第2课  CC2530的通用I/O端口输入和输出控制 小蜜蜂科教 / 广东职业技术学院  欧浩源 [通用I/O端口视频教程:https://v.qq.com/x/page/x0793aol7us.ht ...

  4. tornado 学习之GET POST方法 -- (转)

    import torndb import tornado.web import tornado.ioloop from tornado.options import define,options,pa ...

  5. linux下删除已经不用的配置文件

    使用命令 dpkg -l | grep -v ^ii 查看当前未安装或者不用了的配置文件 例如我的显示如下

  6. Python标准库笔记(4) — collections模块

    这个模块提供几个非常有用的Python容器类型 1.容器 名称 功能描述 OrderedDict 保持了key插入顺序的dict namedtuple 生成可以使用名字来访问元素内容的tuple子类 ...

  7. Which cryptsetup

    Which cryptsetup Rpm –qf ‘which cryptsetup’ 安装加密工具: 设置加密分区 Crptsetup luksFormat Echo –n “xuegod123”  ...

  8. TCP之connect

    1. connect函数: #include <sys/socket.h> int connect(int sockfd, const struct sockaddr *servaddr, ...

  9. java===java基础学习(7)---用户自定义类

    package testbotoo; import java.util.*; public class EmployeeTest { public static void main(String[] ...

  10. 简单的自动化运维工具(shell+except+whiptail+功能模块化函数+循环)

    简单的自动化运维工具(shell+except+whiptail+功能模块化函数+循环) http://www.cnblogs.com/M18-BlankBox/p/5881700.html