如何更改#include子文件夹的默认文件路径



上下文:

我在学习UE4.23中的教程,有一次,我们在Source/ProjectName/文件中创建了子文件。然后,在.cpp/.h文件中,我们简单地编写了#include "Subfolder/File.h",它就被识别了。然而,当我在自己的项目中练习时(在UE4.26中),我必须这样做:#include "../Subfolder/File.h"从子文件向上,这告诉我包含路径默认在文件所在的文件夹中

这会导致令人讨厌的问题,Unreal会创建一个类,并假设我们在上层文件夹中启动路径,导致每个新类都会出现编译错误,直到我手动更改include。

问题:

如何将子文件夹文件的默认包含路径更改为从主文件夹开始?

所需结果示例:将默认路径设置为"../Project/Source/ProjectName/"

//thisclass.cpp file inside of "Source/ProjectName/Test/thisclass.cpp"
/* "Source/ProjectName/Framework/" */
#include "Framework/GameState.h" 
/* "Source/ProjectName/Player/" */
#include "Player/CharacterController.h"
//Must enter sub-folders as well, even though it's in the same subfolder
#include "Test/thisclass.h"

旁注:

  • 我在谷歌上搜索解决方案的尝试不断显示更改项目位置的结果,而不是更改目录或包含路径
  • 我很确定这是Visual Studio的问题,但我将其与Unreal一起使用,所以我标记了两者

PublicIncludePaths添加到*.Build.cs

public class ProjectName: ModuleRules
{
public ProjectName(ReadOnlyTargetRules Target) : base(Target)
{
//...
PublicIncludePaths.AddRange(
new string[] {
"ProjectName",
"ProjectName/Test"
}
//...
);
}
}

最新更新