【发布时间】:2015-03-26 18:33:00
【问题描述】:
我需要在我创建的每个 .cpp 中包含一个文件作为虚幻引擎项目的第一行... 这不能在解决方案/项目中的每个 cpp 中包含它,只是我想要的。
那个文件是:
#include "./../../../Public/TemplatePlatformer.h"
虚幻引擎声明它必须是第一个包含。有没有一种方法可以对此进行宏化,以便我只需在一个地方定义它并在每个 cpp 文件的顶部使用宏...几乎就像这里的包含 txt 文件,以便编译器认为标题声明实际上是在顶部?
这个:
MyClass.cpp
#include "./../../../Public/TemplatePlatformer.h"
#include "MyClass.h"
...
MyClass2.cpp
#include "./../../../Public/TemplatePlatformer.h"
#include "MyClass2.h"
...
会变成这样:
MyClass.cpp
INCLUDE_CONFIG
#include "MyClass.h"
...
MyClass2.cpp
INCLUDE_CONFIG
#include "MyClass2.h"
...
【问题讨论】:
-
您可以使用precompiled header。它不是为此目的而设计的,但基本上它会为所有 cpp 文件添加一些标题
-
取决于您的编译器。 stackoverflow.com/questions/3387453/… 的可能重复项
-
@BryanChen 我不确定这是什么意思?
-
@BryanChen 预编译标头是一项不同的功能,AFAIK 不保证给定标头包含在每个翻译单元中
-
@inetknght 我知道这是不同的功能,但我从不知道它不能保证包含给定的标头?