今天遇到一个问题,自己写的插件使用引擎源码编译正常,但用编译过的引擎编译插件,提示Could not find definition for module 'CryptoPP',这个插件确实依赖了CryptoPP,这是ue4依赖的一个第三方模块,具体路径是D:\work\UE_4.21\Engine\Source\ThirdParty\CryptoPP,发现相比引擎源码目录,少了CryptoPP.Build.cs,还有版本文件夹下面只有include文件夹,没有lib文件夹。然后把这些缺失的文件从引擎源码目录拷贝到二进制的引擎目录下,再编译插件就OK了。
如果还是编译报错,打开CryptoPP.Build.cs,内容如下:
尤其看看LibFolder对应的目录是否存在,不存在,如果因为vs版本不兼容,要么修改目录,要么自己编译生成新的cryptlib.lib