重新编译Unity Mono遇到的坑,大坑,巨坑!!!

  因为项目需要,要整一个DLL热更功能,本身也想对DLL进行加密,所以需要修改Mono的代码,并重新编译。参考了网上的教程后,决定在linux下做重编的工作。

  然而在实际执行的时候,一开始就碰到了巨大的坑,卡了我两天。如果你身边正好有对Linux非常熟悉的朋友,那么请他帮助你完成编译环境的部署是最好的。我们项目工程使用的是unity5.5,因此我去git上下了Unity-5.5的分支,这个分支充分证明了开源代码的坑爹之处,一会细说。

  首先我参考的是这篇教程,写的不错,也很详细。

  https://blog.csdn.net/qq_27772057/article/details/51945700

  我先去官网下载了Ubuntu17的64位版本,当中碰到过一些错误,最后卡死在了PrepareAndroidSDK.PM无法定位到@INT地址,网上看了一下是Perl模块的问题。尝试了很多方法一直无法解决。这个折腾了我一天时间。

  为了减少系统带来的影响,我决定重新下载32位Ubuntu16,果然比之前顺利了一点,但这次碰到的问题是C++编辑器无法读取二进制文件的问题。可能少了某个模块。前前后后参考了几十篇教程,把能改的都改了还是不行。不过我当时发现在mono文件根目录下有一个autogen.sh的文件,在编译之前跑一把这个文件,可以检测你当前的环境是否满足编译。这个很多教程都没有提到,我墙裂建议一定要跑。然而事实证明,就算检测通过了,也不一定能行。。。我就是案例,当时差点崩溃。

  关于Mono5.5版本开源代码可能存在的坑,推荐这两篇教程,有几处的改动。

  https://www.cnblogs.com/lijiajia/p/7822571.html

  http://csftech.logdown.com/posts/452269-android-unity-encryption

  就在我犹豫是否应该转战Windows的时候,又尝试了一下Cent OS,终于成功了。参考了这篇教程

  https://blog.csdn.net/yxq408576080/article/details/47779395

  需要注意的是,之前两个链接中有几处文件替换,CentOS教程中没有提到,这个要自己改一下。还有cpan下安装LWP模块,一定要确认好lwp-download是否可用;xshell其实不用安装,直接在终端输入相同的指令即可。

  我在编译的时候还碰到了Can't locate File/Copy/Recursive.pm in @INC的错误,这个只要在cpan下执行install File::Copy::Recursive即可,坑爹的perl官网导致我安装好几次失败。全部装完后,编译终于成功!

  最后可以参考雨松的

  http://www.xuanyusong.com/archives/3553?utm_source=tuicool

  编译release包。

  大功告成~

转载于:https://www.cnblogs.com/cangxw/p/8645043.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值