最近在学习UE4插件(想知道UE4如何创建自己的Plugins:https://blog.csdn.net/qq_36409711/article/details/82379054),别人做好的整个工程可以完好运行,而自己将其打包好的插件放到自己新创建的文件中,编译就报了很多头文件的错误。各种"No such file"。
后来对比了一下Visual Studio中的NMake,发现自己创建 的UE4工程没有在其中生成必要的头文件目录,从而导致了#include头文件失败:(NMake可以用来生成头文件包含目录)
NMake 寻找方法:(只会贴上关键图)
解决方案资源管理器->Games->[ProjectName]
右键->属性
NMake->包含探索路径
如图:
点击<编辑>可以查看已经生成的头文件探索路径,也可以手动添加新的路径等等。可以看到已经有了很多自动生成的路径,(怎么生成的我现在还不清楚,欢迎知道的小伙伴评论)
可以看到有关于我的插件的路径:
再看未报错工程的:
现在原因知道了,结合下图的插件目录:Private文件夹下用于存放.cpp文件,Public文件夹下用于存放.h文件,这里为了目录清晰又分了子文件夹,Private文件夹下的.cpp文件包含 Public文件夹下的.h文件需要跨文件夹,而NMake中又没有指明搜索路径,所以只在本文件层级找,当然找不到(涉及到c++的头文件包含流程,有兴趣的可以补充)。手动加上应该就不会报错了,但为什么它没有自动生成我就不清楚了。后来直接使用UE4创建一个Plugins,规规矩矩得创建分类的文件夹测试了下,发现还是会出现这个问题。说明UE4并没有自动帮你添加Public文件夹下的次级文件夹的这些搜索路径。(知道如何解决的欢迎留言)
UE4 Plugins 插件 private public 无法打开源文件 解决方案
原文:https://www.cnblogs.com/JFor-UE4/p/12655011.html