最新编译福利:
----------------------------------------------------------------------------------------------------------------------
参考官方文档git,https://github.com/Unity-Technologies/mono
那个太慢我复制了一份在码云上:
可以参考官方推荐文档
Compiling Mono on Windows | Mono
以下也是参照这个文档的。另外我编译好的项目给大家一份做参考
链接:https://pan.baidu.com/s/1jMxVxEpkk39qW1E6kEyOmQ
提取码:sqba
一、下载工具
1,VS2015以上 自行下载,Unity默认有安装的
2,cygwin64地址:Cygwin
3,Mono地址Install Mono on Windows | Mono
二、安装环境
英文:
Install prerequisites
- Enable
Developer Mode
in the Windows 10 Settings app (Update & Security -> For developers tab) - Download and install 64 bit Cygwin from www.cygwin.com.
- Install Visual Studio 2015 or later - Community Edition works fine.
- Download and install Mono for Windows or use
monolite
build step as described below. - Run the following command in cmd.exe to install Cygwin and required packages:
setup-x86_64.exe -P autoconf,automake,bison,gcc-core,gcc-g++,mingw64-i686-runtime,mingw64-i686-binutils,mingw64-i686-gcc-core,mingw64-i686-gcc-g++,mingw64-i686-pthreads,mingw64-i686-w32api,mingw64-x86_64-runtime,mingw64-x86_64-binutils,mingw64-x86_64-gcc-core,mingw64-x86_64-gcc-g++,mingw64-x86_64-pthreads,mingw64-x86_64-w32api,libtool,make,python,gettext-devel,gettext,intltool,libiconv,pkg-config,git,curl,wget,libxslt,bc,patch,cmake,perl,yasm,unzip
Make sure that the following GIT setting is used to avoid issues with line endings:
git config --global core.autocrlf input
翻译过来就是
1,在WIN10上 在设置->更新和安全->开发者选项里->开发人员模式
2,Cygwin下载,刚才下载好了
3, 安装vs,,刚也下载了
4, 下载Mono,并安装
重点:
5, 用cmd命令行打开,cd 到Cygwin下载的目录默认下载为setup-x86_64.exe
执行命令行安装
setup-x86_64.exe -P autoconf,automake,bison,gcc-core,gcc-g++,mingw64-i686-runtime,mingw64-i686-binutils,mingw64-i686-gcc-core,mingw64-i686-gcc-g++,mingw64-i686-pthreads,mingw64-i686-w32api,mingw64-x86_64-runtime,mingw64-x86_64-binutils,mingw64-x86_64-gcc-core,mingw64-x86_64-gcc-g++,mingw64-x86_64-pthreads,mingw64-x86_64-w32api,libtool,make,python,gettext-devel,gettext,intltool,libiconv,pkg-config,git,curl,wget,libxslt,bc,patch,cmake,perl,yasm,unzip
三、下载Unity的Mono生成sln可打开编译的
1,安装好Cygwin后启动,输入
git config --global core.autocrlf input
2,克隆项目,因为github太慢了,我复制了一份到码云,所以用码云的地址
git clone --recursive -b 2019.4-branch-updates https://gitee.com/wusongs/mono.git
3,克隆好后cd到mono
4,编译执行
英文:
64-bit Mono runtime using SGEN GC and default BCL profile (net_4_x):
./autogen.sh --prefix=$PREFIX --host=x86_64-w64-mingw32 --enable-msvc --disable-boehm
32-bit Mono runtime using SGEN GC and default BCL profile (net_4_x):
./autogen.sh --prefix=$PREFIX --host=i686-w64-mingw32 --enable-msvc --disable-boehm
翻译过来来就是
64位的用
./autogen.sh --host=x86_64-w64-mingw32 --enable-msvc --disable-boehm
32位的用
./autogen.sh --prefix=$PREFIX --host=i686-w64-mingw32 --enable-msvc --disable-boehm
目前我是编译了64位的
四、VS2015编译,加密解密
1,vs2015编译
到cygwi安装目录下找到mono.sln,我是在D:\cygwin64\home\username\mono\msvc下
用vs2015打开,切到Release x64生成方案就可以了,或生成在Runtime\mono的工程
2,都编译完成了就可以做加解密了。大家可以下载我编译好的2019.4.的mono工程参考。我用的是AES加解密。
大家下载后在这个工程里有一个AES项目。
AES的加密方式,解密添加在
Libraries/libmonoruntime/common/image.c的
mono_image_open_from_data_internal方法中
当然工程要引用aes.lib,aes.h
3, 加密用AES.exe,用Debug生成,在
mono\msvc\x64\Deug,此目录下有一个UnityEncode.bat,双击运运行既可
bat的过程
1)加密生成Assembly-CSharp_enc.dll,
2)删除Assembly-CSharp.dll,
3)将Assembly-CSharp_enc.dll重命名为 Assembly-CSharp.dll
4)替换mono-2.0-bdwgc.dll
5, 重要!!使用自己的密钥
在AES.CPP中修改AES KEY 。修改后需要重新生成AES以及Mono,还有在DEBUG模式下生成AES.exe
五、运行自己的Unity进程.