**UE4 插件编译及使用的问题**

xiaoxiao2021-02-28  120

这些天遇到个项目打包问题,怎么也编译不过,最终把问题发给前辈才得以解决(姜还是老的辣,散花……) 当前项目中因为要打包development版本,所以插件使用中出现了些问题:

1,不到静态链接库(link时没有找到插件的静态链接库) 因为在项目中Editor模式下(默认,可以在Editor中依次打开“文件->打包项目->编译设置->发行or开发or调试”来选择编译类型)编译使用的插件只有dll文件,而没有lib文件,所以需要重新编译插件, 并且编译时选择Development X64(我的当前系统为64位); 2,差件的配置文件.uplugin中, 把type类型从development改为Runtime 3,插件中关于IMPLEMENT_MODULE(XXX,ModuleName)中的ModuleName和link中的ModuleName要相同,否则链接exe文件时会找不到文件,最终会报错 static FStaticallyLinkedModuleRegistrant< ModuleImplClass > ModuleRegistrant##ModuleName( #ModuleName ); 4,关于插件编译产生的相关链接库说明:Development,DebugGame,Shipping模式下编译出插件的lib文件,Editor的相关模式下会编译出dll文件(用于UE4 Editor的热加载)。 5, 关于插件type选择Runtime的具体原因,UE Doc中这样解释: 设置模块的类型。有效的几项是:Runtime,RuntimeNoCommandlet,Developer,Editor,EditorNoCommandlet,和 Program。这里的类型设置决定了该插 件适合于那种类型的应用程序加载。 比如插件中包含的某些模块,可能只是给 Editor 运行是使用的。 Runtime 的模块在无论何时都会被加载,哪怕是在最终发行的游戏版本中也会。Developer 的模块只会在 Development 运行时或者编辑器版本中才会被加载, 并不在在最终发行版本中加载。Editor 模块只会随着 Editor 的启动被加载。插件也可以使用几种不同类型的组合来达到所需要的目的。 具体的见: UE4 插件文档

转载请注明原文地址: https://www.6miu.com/read-18933.html

最新回复(0)