解决UE4启动出现UE4Editor.exe-无法找到dll入口的弹窗

UE4编辑器启动

一开始遇到的问题如下:

解决UE4启动出现UE4Editor.exe-无法找到dll入口的弹窗_第1张图片

 上网找问题得到的解答都是在cmd下利用regsvr32.exe注册该dll到注册表,但是也提示报错

上网搜了一下,得知原因是生成该dll的源码没有实现 DllRegisterServer和DllUnegisterServer函数供注册使用。

然后陷入了沉思。。。往项目配置文件.build.cs里添加dll依赖会怎么样?试了一下,成功了。

在.build.cs添加C#库using System.IO;

在项目Class内添加如下代码:

    private string ModulePath
    {
        get
        {
            return ModuleDirectory;
        }
    }

    private string ThirdPartyPath
    {
        get
        {
            return Path.GetFullPath(Path.Combine(ModulePath, "../../Plugins/Your dll dependency directory"));
        }
    }

这个Your dll dependency directory就是你当前依赖的dll所在的目录,Path.Cmbine第二个参数要用.build.cs的相对路径表示。

再在该class 构造函数内添加如下代码:

        PublicDelayLoadDLLs.Add(Path.Combine(ThirdPartyPath, "name of depended dll"));
        RuntimeDependencies.Add(new RuntimeDependency(Path.Combine(ThirdPartyPath, "name of depended dll")));

这个name of depended dll就是那个弹窗报错的dll啦。

在UE4添加第三方dll依赖可参考这个链接

如果是UE4源码启动

解决UE4启动出现UE4Editor.exe-无法找到dll入口的弹窗_第2张图片

 解决UE4启动出现UE4Editor.exe-无法找到dll入口的弹窗_第3张图片

重新构建一下,具体做法是:

删除Engine目录下的Intermidate目录,点击GenerateProjectFiles.bat重新构建整个项目;接下来的步骤见虚幻官方文档,

你可能感兴趣的:(UE4,虚幻,dll)