编者注
由于之前引入的log4net,在IL2Cpp下无法正常运行,导致没有日志库使用。还需要解决protobuf或thrift是否支持il2cpp进行测试。
Unity IL2Cpp构建
Unity安装
首先,如果选择的是最小化Unity安装,则没有安装IL2Cpp。请在安装时勾选。
Unity下载器
进行Choose Components菜单下,如果需要编译Windows版本的IL2Cpp,请安装如下内容勾选
[x] Unity 2018
[x] Window Build Support (IL2Cpp)
安装大约需要3GB,请提前清理好硬盘。
第一次尝试编译
编译配置
新建项目后,点击File->Build Settings,打开构建窗口,选择好对应平台。这里选择Windows。
点击Player Settings设置构建选项为IL2Cpp。
点击后,能够看到Inspector界面发生变化。找到Other Settings,子配置Configuration。由于Unity2018支持.Net Standard 2.0标准,则请按照如下内容进行
Scripting Runtime Version : .Net 4.x Equivalent
Scripting Backend : IL2Cpp
Api Compatibility Level* : .Net Standard 2.0
构建报错
当直接进行构建,将会发生错误,主要错误内容截取如下:
Failed running C:\Program Files\Unity\Editor\Data\il2cpp/build/il2cpp.exe --convert-to-cpp --emit-null-checks --enable-array-bounds-check --dotnetprofile="unityaot" --compile-cpp --libil2cpp-static --platform="WindowsDesktop" --architecture="x64" --configuration="Release" --outputpath="C:\Workspace\Unity\SnowTest\Temp/StagingArea/Data\Native\GameAssembly.dll" --cachedirectory="C:\Workspace\Unity\SnowTest\Assets\..\Library/il2cpp_cache" --map-file-parser="C:\Program Files\Unity\Editor\Data\Tools\MapFileParser\MapFileParser.exe" --assembly="C:\Workspace\Unity\SnowTest\Temp\StagingArea\Data\Managed\UnityEngine.dll" --generatedcppdir="C:\Workspace\Unity\SnowTest\Temp\StagingArea\Data\il2cppOutput"
stdout:
il2cpp.exe didn't catch exception: System.InvalidOperationException: C++ code builder is unable to build C++ code. In order to build C++ code