Unreal 导出dll 嵌入到程序 (嵌入Qt 程序)

时间:2025-03-25 08:11:05

  unreal 默认是 无法嵌入到程序中作为一个dll模块的。想嵌入,需要做一些修改调整。再上一篇文章说过这个主要修改步骤。

这里说第一方面: 

   unreal 导出 dll工程:

   1、通过ue editor 建立一个 ue工程。(UeSdk)

   2、调用vs 打开项目, 修改编译选项。 文件 :

        public uesdkTarget(TargetInfo Target) : base(Target)
    {
        Type = ;

        ( new string[] { "uesdk" } );

        bShouldCompileAsDLL = true;
        bUseStaticCRT = false;

    }

   这样可以编译目标为 dll。但是ue 这里是有问题的。这里虽然生成的目标是dll, 但是 实际是exe文件,只是名称变了。

   这里需要修改 unreal 的编译工具: UnrealBuildTool 

3、修改 UnrealBuildTool工程内容。这里不得不修改源码了。unreal 从软件工程上说,有不少问题。

   1157:

            // = !();

            = ;


3893:

    //zsyddl dll
                    UEBuildBinaryType binaryType = ? : ;
                    //UEBuildBinaryType binaryType = !ShouldCompileMonolithic() ? : ;
    这样可以编译为真正的dll

   4、如此修改虽然可以编译为 dll 也可以被调用。但是都是一个独立的 dll,很大的哦。50M+ ;


  以上只是能编译为 dll,并链接了 Unreal主要的库。 想要从程序调用dll,还需要一些修改。

  比如启动 unreal 、 启动 unreal 循环、嵌入到我们的程序窗口重、支持多实例。 后面会将修改好的代码方一份到网盘。整个项目很大。只能将源代码打包放上去。