인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

Huni님의 프로필 이미지

작성한 질문수

이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해

1강 언리얼 엔진 게임 제작 기초

모듈을 추가한 이유를 정확하게 모르겠습니다.

작성

·

81

0

15분 35초쯤

PublicIncludePaths.AddRange로 주모듈인 ArenaBattle을 추가해주셨는데 라이브 코딩에서 어떠한 이유로 경로가 안맞는지 궁금하고, 이를 위해서 왜 모듈을 추가하셨는지 자세하게 알고싶습니다.

답변 2

0

이득우님의 프로필 이미지
이득우
지식공유자

헤더 파일 경로를 번거롭게 입력할 필요없도록 프로젝트 설정의 IncludePath를 추가해준거라고 보면 됩니다.

그 경로의 기준은 모듈의 기본 디렉토리가 되는거죠

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다. Huni님께서 질문하신 내용에 대해 설명드리겠습니다.

PublicIncludePaths에 모듈 경로를 추가하는 이유는 프로젝트에서 추가한 C++ 클래스들이 컴파일 시 참조할 수 있는 경로를 명시적으로 지정하기 위해서입니다. 특히 언리얼 엔진에서 모듈은 서로 독립적인 코드 구조를 가지는데, 특정 모듈 내에서 다른 모듈에 정의된 클래스나 함수 등을 참조하려면 그 경로를 명시해야 합니다.

실제 라이브 코딩 상황에서 경로가 맞지 않는 이유는 보통 클래스 파일들이 프로젝트의 구성 파일에서 정의한 경로나 구조와 일치하지 않아서 발생합니다. 이 문제를 해결하기 위해 PublicIncludePaths.AddRange를 사용하여 경로를 추가하면, 언리얼 엔진이 해당 경로에서 필요한 헤더 파일을 찾을 수 있게 됩니다.

추가적으로, 언리얼 엔진의 빌드 과정에서 경로 설정이 잘못되면 컴파일 에러가 발생하게 되며, 이는 프로젝트를 확장하거나 다른 모듈과의 의존성을 올바르게 관리하지 못할 때 자주 발생하는 문제입니다.

이와 유사한 질문은 1강 왜 컴파일 에러가 뜨는 건가요? 게시물에서 다루어진 바 있습니다. 여기서 역시 경로 설정 문제로 인한 컴파일 에러에 대한 설명과 해결책이 제시되어 있으니 한 번 확인해 보시길 권장합니다.

저는 Huni님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Huni님의 프로필 이미지

작성한 질문수

질문하기