UE4多个分支版本兼容相同的工程dll

如果是从源代码编译出来的UE4, 明明代码完全一样, 不同机器编译出来的dll却无法兼容, 这对于多分支开发非常不方便.
UE4多个分支版本兼容相同的工程dll_第1张图片
在老版本里有个通过版本号判断的逻辑, 新版本改没了. 分析UE4源码后发现目前是通过BulidId来判断dll跟引擎是不是兼容的. 那BuildId是哪里来的呢?
UE4多个分支版本兼容相同的工程dll_第2张图片
UE4多个分支版本兼容相同的工程dll_第3张图片
UE4多个分支版本兼容相同的工程dll_第4张图片
其实像发布的UE4版本是通过"-Formal"参数来生成固定的BuildId的, 不过我们也可以直接修改Engine/Build/Build.version来生成固定的BuildId:
UE4多个分支版本兼容相同的工程dll_第5张图片
改完后如果代码一样, 不同机器编译出来的引擎也能够打开同个工程的dll 了

参考资料

https://udn.unrealengine.com/questions/506626/view.html
https://udn.unrealengine.com/questions/475415/view.html

你可能感兴趣的:(引擎研究)