[Unrael Engine] IWYU ๊ฐ„๋‹จ ์ •๋ฆฌ

2025. 5. 21. 16:34ยท๐Ÿ–ฅ๏ธ Study Note/Unreal Engine

IWYU๋Š” “Include What You Use” ์˜ ์ค€๋ง๋กœ, ์†Œ์Šค ์ฝ”๋“œ์— ํ•„์š”ํ•œ ํ—ค๋” ํŒŒ์ผ๋งŒ ํฌํ•จ(Include) ํ•ด์•ผ ํ•œ๋‹ค๋Š” ์›์น™์ž…๋‹ˆ๋‹ค.

 

Unreal Engine์€ ํ•ด๋‹น IWYU๋ฅผ ์ค€์ˆ˜ํ•˜๊ธฐ ์œ„ํ•ด ์–ธ๋ฆฌ์–ผ 5 ๋ฒ„์ „๋ถ€ํ„ฐ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ทœ์น™์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

  1. ๋ชจ๋“  ํ—ค๋” ํŒŒ์ผ์€ ํ•„์ˆ˜๊ธฐ๋Šฅ์ด ์ง‘์•ฝ๋œ CoreMinimal.h๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.
  2. *.cpp ํŒŒ์ผ์€ ๋งค์นญ๋œ *.h ํŒŒ์ผ์„ ์šฐ์„  ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.
  3. UBT(Unreal Build Tool)์—์„œ ์–ด๋–ค PCH(Precompiled Header)๋ฅผ Include ํ• ์ง€ ํŒ๋‹จํ•˜์—ฌ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.
  4. 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;
...



๋” ์ž์„ธํ•œ ๋‚ด์šฉ์€ ํ•˜๋‹จ ๋ฌธ์„œ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

https://dev.epicgames.com/documentation/en-us/unreal-engine/include-what-you-use-iwyu-for-unreal-engine-programming

 

 

 

์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'๐Ÿ–ฅ๏ธ 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
'๐Ÿ–ฅ๏ธ Study Note/Unreal Engine' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [Unreal] Game Ability System(GAS) - Ability System Componet(ASC)
  • [Unreal] Game Ability System(GAS)
  • [Unreal Engine] ๋ชจ๋“ˆ(Module)
  • [Unreal Engine] Animation Blueprint์—์„œ Owner ์บ๋ฆญํ„ฐ์˜ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” 3๊ฐ€์ง€ ๋ฐฉ๋ฒ•
Beankong_
Beankong_
์ฃผ๋‹ˆ์–ด ํด๋ผ์ด์–ธํŠธ ํ”„๋กœ๊ทธ๋ž˜๋จธ ๊ณต๋ถ€ ๊ธฐ๋ก
  • Beankong_
    Beankong's Devlog
    Beankong_
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ์ „์ฒด ๊ธ€ (146)
      • โ›… Daily (0)
      • ๐Ÿ–ฅ๏ธ Study Note (2)
        • C++ (1)
        • Unreal Engine (5)
        • Coding Test (123)
        • Design Patteren (5)
        • VCS (Git..) (1)
        • Server (1)
      • ๐Ÿงญ Devlog (8)
        • ์˜ค๋‹ต๋…ธํŠธ (4)
        • UE5 GameLift Server Test Project (1)
        • TIL (3)
  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
Beankong_
[Unrael Engine] IWYU ๊ฐ„๋‹จ ์ •๋ฆฌ
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”