IWYU๋ “Include What You Use” ์ ์ค๋ง๋ก, ์์ค ์ฝ๋์ ํ์ํ ํค๋ ํ์ผ๋ง ํฌํจ(Include) ํด์ผ ํ๋ค๋ ์์น์ ๋๋ค.
Unreal Engine์ ํด๋น IWYU๋ฅผ ์ค์ํ๊ธฐ ์ํด ์ธ๋ฆฌ์ผ 5 ๋ฒ์ ๋ถํฐ ๋ค์๊ณผ ๊ฐ์ ๊ท์น์ ์ ์ฉํฉ๋๋ค.
- ๋ชจ๋ ํค๋ ํ์ผ์ ํ์๊ธฐ๋ฅ์ด ์ง์ฝ๋ CoreMinimal.h๋ฅผ ํฌํจํฉ๋๋ค.
- *.cpp ํ์ผ์ ๋งค์นญ๋ *.h ํ์ผ์ ์ฐ์ ํฌํจํฉ๋๋ค.
- UBT(Unreal Build Tool)์์ ์ด๋ค PCH(Precompiled Header)๋ฅผ Include ํ ์ง ํ๋จํ์ฌ ํฌํจํฉ๋๋ค.
- Engine.h ๋๋ UnrealEd.h ๊ฐ์ ๋ชจ๋๋ฆฌ์ ํค๋ ํ์ผ์ ๋ ์ด์ ํฌํจ๋์ง ์์ต๋๋ค.
๋ชจ๋์ด ์ ๊ท์น์ ์ฌ์ฉํ๋๋ก ํ๋ ค๋ฉด *.Build.cs ํ์ผ์์ PCHUsage๋ฅผ PCHUsageMode.UseExplicitOrSharedPCHs ๋ก ์ค์ ํด์ผ ํฉ๋๋ค.
์์ค ์ฝ๋๊ฐ ํ์ํ ํค๋๋ฅผ ์ ์ ํ ํฌํจํ๊ณ ์๋์ง ํ์ธํ๋ ค๋ฉด,
*.Target.cs ํ์ผ์์ ๋ค์๊ณผ ๊ฐ์ด ์ค์ ํ์ฌ PCH๋ฅผ ๋๊ณ , Non-Unity ๋น๋๋ฅผ ์งํํ์ฌ ๋ก๊ทธ๋ฅผ ํ์ธํ๋ฉด ๋ฉ๋๋ค.
public class MyProjectTarget : TargetRules
{
public MyProjectTarget(TargetInfo Target) : base(Target)
{
Type = TargetType.Game;
bUseUnityBuild = false;
bUsePCHFiles = false;
...
๋ ์์ธํ ๋ด์ฉ์ ํ๋จ ๋ฌธ์์์ ํ์ธํ ์ ์์ต๋๋ค.
'๐ฅ๏ธ Study Note > Unreal Engine' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Unreal] Game Ability System(GAS) - Ability System Componet(ASC) (2) | 2025.06.10 |
---|---|
[Unreal] Game Ability System(GAS) (0) | 2025.06.10 |
[Unreal Engine] ๋ชจ๋(Module) (0) | 2025.05.21 |
[Unreal Engine] Animation Blueprint์์ Owner ์บ๋ฆญํฐ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ 3๊ฐ์ง ๋ฐฉ๋ฒ (1) | 2025.05.19 |