728x90
MSB3073 에러
- MSB3073에러가 발생해서 빌드가 안되는 문제를 겪었다.
- VS를 다시 켜보거나 Binaries를 삭제하고 리빌드 하는 과정을 거쳤지만 문제가 해결되지 않았다.
- 해결 방법
- Build.cs 파일 수정
- FSocket 및 네트워킹 관련 기능을 사용하기 위해서는 프로젝트의 .Build.cs 파일에 필요한 모듈을 추가해야 했다.
- 프로젝트 폴더에서 .Build.cs 파일을 열어서 PublicDependencyModuleNames에 필요한 모듈을 추가해주었다.
- 나는 Sockets 와 Networking 모듈이 필요했기에 추가해주었다.
-
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "Sockets", "Networking" });
- 성공적으로 빌드할 수 있었다.
- Build.cs 파일 수정
NewObject with empty name can't be used to create default subobjects 에러
- NewObject 를 객체 생성할 때 발생하는 제한 사항과 관련된 문제였다. 언리얼 엔진에서 NewObject 를 사용하여 객체를 생성하는 경우, 특히 UObject 를 상속받은 클래스의 생성자 내부에서 사용할 때, 이름 충돌 문제나 기본 서브오브젝트 생성 규칙과 관련된 오류가 발생할 수 있었다.
- 해결 방법
- 생성자 외부에서 NewObject를 사용하는 방법을 사용했다.
- NewObject<> 는 생성자 외부에서 호출하면 문제가 발생하지 않기 때문에, 생성자 대신 다른 메서드에서 객체를 생성하는 방법을 사용했다.
-
void UMyGameInstance::Init() { Super::Init(); InitializeNetworkManager(); //Try Connect TO Server NetworkManager->ConnectToServer("127.0.0.1", 7777); } void UMyGameInstance::InitializeNetworkManager() { //Create NetworkManager Instance NetworkManager = NewObject<UNetworkManager>(this, UNetworkManager::StaticClass()); }
728x90
'Study > Project' 카테고리의 다른 글
VV 4. 클라이언트 수신 (0) | 2024.10.29 |
---|---|
VV 3. 로그인 기능 (0) | 2024.10.29 |
VV 2. 서버와의 연결 (0) | 2024.10.24 |
VV 1. 로그인 UI (3) | 2024.10.23 |
슬레이어즈_동기화 피드백 (0) | 2024.06.18 |