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

Posted xoyojank

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UE4多个分支版本兼容相同的工程dll相关的知识,希望对你有一定的参考价值。

如果是从源代码编译出来的UE4, 明明代码完全一样, 不同机器编译出来的dll却无法兼容, 这对于多分支开发非常不方便.

在老版本里有个通过版本号判断的逻辑, 新版本改没了. 分析UE4源码后发现目前是通过BulidId来判断dll跟引擎是不是兼容的. 那BuildId是哪里来的呢?



其实像发布的UE4版本是通过"-Formal"参数来生成固定的BuildId的, 不过我们也可以直接修改Engine/Build/Build.version来生成固定的BuildId:

改完后如果代码一样, 不同机器编译出来的引擎也能够打开同个工程的dll 了

参考资料

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

以上是关于UE4多个分支版本兼容相同的工程dll的主要内容,如果未能解决你的问题,请参考以下文章

Newtonsoft Json.NET 版本不兼容(DLL 地狱)

ue4.27打开4.26的项目

Jenkins 和 MSBuild 不会构建包含相同 dll 的多个版本的 WiX .msi

传递依赖导致相同 DLL 的版本冲突

ue4怎么打开vstar

ue4 c++ 怎么引入dll