编写与改写UE4插件的过程中遇到很多问题,其中最令人无奈的是连工程都无法启动的问题,该问题根本无从下手,甚至打开解决方案生成也找不到具体错误原因,因为源码生成本来就无法通过,并且该部分问题也不完全是代码逻辑的原因。
问题如图:
一般产生该问题的原因是代码有问题,通常的解决方式是打开解决方案,即sln文件编译一下就可以找到。
但是在引入多种库文件,并且有平台判定的时候,就不容易找到原因了,因为代码逻辑是没有问题的。
此次产生问题的原因有三点:
1、引入顺序与平台判定
不要直接引入Launch,加上Android判断,按如图方式引入。
2、有些头文件需要在特定平台下引入,全局的平台引入判断要一致
虽然一些头文件的引入在任何位置都不会报错,但实际上是有错的,并且会让项目无法打开,在安卓下和pc下有区别。
3、即使引入第三方库报假错的但是能运行的,也要放到定义的if中,否则项目打不开
在UE4写插件的时候,稍微复杂点的插件难免都需要引入第三方库,但是直接调用第三方库vs并不会热编译,所以就会报错,但是项目确实是可以正常运行的。但是在别人想用你的插件的时候,就会出现项目打不开的情况,所以需要定义if条件来使引入的第三方库的方法不报错。