C++ LNK2005, LNK2001 에러

Error|2024. 10. 7. 18:47

GameMode 파일에서 클라이언트에서 멀티플레이 세션을 생성하도록 프로그래밍을 했었다.

하지만 GameMode파일을 캐스팅 해서 블루프린트로 가져오고, 내부의 CreateSession 함수를 호출하는 과정에서 게임모드 파일이 캐스팅 되지 않는 문제가 발생했다.

위의 문제의 원인은 GameMode 파일을 클라이언트 부분에서 건드릴수 없었기 때문이었고, 결국 playercontroller 클래스를 하나 생성해 클라이언트가 해당 클래스를 통해 서버로 세션 생성을 요청 보낼수 있도록 구조를 변경하기로 하였다.

 

그리고 클라이언트의 요청-> Gamemode의 세션 생성 함수 호출-> Gamemode 클래스에서 세션 생성 이 세 단계를 거치기 위해 함수를 생성했다.

 

자세한건 개발 일지에 적겠지만, 이 과정에서 서버와 클라이언트 함수엔 implementation과 validate 함수가 생략되어선 안됬는데 Implementation 함수는 위와 같이 구현부와 상관없는 부분이라 생각해 생략했고, validate 함수는 당장 요청을 검토하는 로직을 구현할건 아니기 때문에 생략했다.

 

꼭 들어가야 하는 부분이 생략되어 위와 같은 에러가 발생했고, 구현부는 Implementation 부분에, Validate 부분은 일단 True만 리턴하도록 만들어 놓으니 에러가 사라졌다.

 

꼭 위와 같은 케이스가 아니더라도 cpp 함수 부분에서 중복 선언을 했거나 전처리를 중복으로 선언하는 등의 상황에서 해당 에러가 발생하니 눈 똑바로 뜨고 잘 확인해보자.

'Error' 카테고리의 다른 글

ModRSsim Key 오류, MSVCR100.dll 오류  (0) 2023.08.28
응용프로그램의 side-by-side  (0) 2023.08.25

댓글()