一开始遇到的问题如下:
?上网找问题得到的解答都是在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依赖可参考这个链接
|