Unreal Engine에서 C++을 빌드하다가 생기는 문제 중에 아주 간단한 문제이다.
_declspec... _cdecl 에러 가 발생하면 처음 봐야할 부분은 내가 프로젝트에 module을 가져왔는가 봐야한다.
언리얼엔진은 예전부터 만들어지면서 레거시 코드(오래된코드라고 이해하자) 등이 쌓여 있다.
그러다보니 개발 자체를 여러개의 모듈을 분리해서 만들다 보니까. 가져와서 붙여줘야한다 필요할 때
(예를 들어 플러그인도 비슷한 개념이라고 볼 수 있다)
이런 부분에 있어서 언리얼엔진이 정말 잘 짜여졌다고 할 수 있겠다.
아무튼 !
FIX
Server와 관련된 작업을 하다가 올린다.
엄청 간단한 에러이다.
그냥 프로젝트 생성이 완료되었다면
.build.cs 라고 되어있는 C# 으로 만들어진 코드가 존재한다. 그곳으로 가서 Module을 추가해주자.
보통 어떤 부분이 안들어왔는지 말해준다.
나같은 경우는 아래와 같이 뜨는데. ISocketSubSystem을 사용하는 어떤게 확인이 안된단다.
분명 인텔리센스상에 빨간줄도 안보이고 멀쩡하다.
"__declspec(dllimport) public: static class ISocketSubsystem * __cdecl ISocketSubsystem::Get(class FName const &)" (__imp_?Get@ISocketSubsystem@@SAPEAV1@AEBVFName@@@Z)"private: void __cdecl AClientManage::TransmitData(class FString const &)" (?TransmitData@AClientManage@@AEAAXAEBVFString@@@Z) 함수에서 참조되는 확인할 수 없는 외부 기호
그렇다면 저 에러가 발생했을 때
.build.cs에 Module을 추가해주면 된다.
추가해주면 빌드는 정상적으로 처리 된다.
끝~!
'🅴🆃🅲 > 개발 공유' 카테고리의 다른 글
[UnrealEngine] AsyncLoad - OpenLevel() 과 LoadStreamLevel() 오픈월드 (4) | 2024.09.12 |
---|---|
[Debug_Diary] UE5 언리얼 실행 무한 로딩 문제 (2) | 2024.02.13 |
[코딩테스트 도구] Visual Studio 컴파일 간단하게 하기 (0) | 2023.08.02 |