inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

클라이언트에 ServerCore를 복사 시, #include 안될 때

269

minseob2996

작성한 질문수 4

0

 

포트폴리오 작업하고 있는데,  

클라이언트를 PacketHandler까지 작업 완료된 서버랑 연동해보려고 합니다~

 

ClientServiceRef service = MakeShared<ClientService>(

NetAddress(L"127.0.0.1", 7777),

MakeShared<IocpCore>(),

MakeShared<ServerSession>, // TODO : SessionManager 등

1);

 

클라이언트쪽에서 위와 같은 코드로 서버와 연결하기 위해

ServerCore 라이브러리를 통쨰로 클라이언트쪽으로 가져와야 하는데...

 

비쥬얼 스튜디오 2022에서

파일 --> 추가 --> 기존 프로젝트 메뉴 이 기능으로 ServerCore 프로젝트를

클라이언트 솔루션에 복사 하고,

파일탐색기에서도 ServerCore 폴더를 클라이언트쪽에 통쨰로 옮겼는데도

#include가 안되고 있는데, 방법을 알 수 있을까요??

 

 

클라이언트 솔루션에 ServerCore 프로젝트 추가완료

 

 

GameProjcet .cpp소스에서 ServerCore 쪽 파일들 인클루드 시도했으나 에러발생

 

 

 

네트워크 MMORPG windows-server

답변 1

0

Rookiss

ServerCore는 .lib이고 정적 라이브러리 (.lib)을 다른 프로젝트에 추가하는 것을
구글에 검색해보시고 따라해보세요.
그냥 #include를 하면 안 되고,
라이브러리 경로와 헤더 경로 두개를 다 잡아줘야 합니다.
강의에서 ServerCore와 Server의 관계처럼 말이죠.

0

minseob2996

이런저런 방법 다 시도해보다가

프로젝트 속성 --> 링커 --> 일반 --> 추가 라이브러리 디렉터리 --> C:\GameProject\PacketHandler\Libraries\ServerCore.lib

 

추가했더니 외부 프로젝트에서 #include와 빌드까지 성공했습니다

.lib파일안에 ServerCore의 .h와 .cpp들이 모두 포함되어 있어서 가능하게 된것일까요?

.lib파일 역할이 너무 궁금합니다

0

Rookiss

lib는 CPP가 빌드되어 결과로 만들어진 바이너리(실행) 파일에 가깝습니다.
단 독단적으로 실행될 수는 없고 다른 프로그램에 기생되어 실행되는
정적(static) 라이브러리입니다. 즉 실행파일(exe)의 라이브러리 버전이라고 생각하시면 됩니다.

.h의 시그니처 내용들이 포함되어 빌드된게 lib이니
말씀하신게 틀린 것은 아니지만 어찌됐건
정적으로 빌드하려면 헤더 파일들의 경로를 따로 알려주긴 해야 합니다.
자세한 내용은 C++ 컴파일러를 공부하지 않으면 어려운 내용이니 그냥 넘어가시는게 좋습니다.

0

minseob2996

 

헤더파일의 경로를 딴다는건

처음 헤더파일 추가시

C:\GameProject\PacketHandler\ServerCore\pch.h

또는

 

프로젝트 속성 --> C/C++ --> 일반 -->

추가포함 디렉토리 C:\GameProject\PacketHandler\ServerCore

 

이 2가지 방법중 하나로 진행하면 될까요?

강의에서 언급 해주시긴 했는데 어디있는지 찾지 못하고 있어 구글링으로 보고 있는데 올바른 방법인지 확인을 받고 싶습니다

 

Memory Pool에서 오버플로우 질문입니다.

0

63

2

포토폴리오 및 진로 관련하여 고민입니다.

0

112

1

포토폴리오 관련 고민입니다.

0

62

1

실무에서도 alloc, 스마트포인터 등을 구현해서 쓰는지 궁금합니다.

0

82

2

성능 테스트 결과

0

103

2

게임 서버 Stateful, Stateless 진로 고민

0

121

1

WaitOnAddress와 Sleep의 차이 질문

0

83

1

궁금한거 있습니다.

0

82

2

JobTimer 구동 스레드

0

107

2

TryPop() 동작 관련 질문

0

81

1

로드맵 C#서버 C++서버 방향성 질문

0

148

2

스레드 id를 출력할떄 메인스레드 id도 출력되나요?

0

73

1

생명주기를 위한 의도적 복사

0

86

2

락프리의 실무에서 사용 질문

0

139

2

32bit threadID와 16비트 상위 WriteFlag에 대해

0

101

2

mutex와 sleep 차이점

0

117

1

실무에서는 어떠한 코드 스타일을 사용하는지 궁금합니다

0

152

2

Stomp Allocator의 Release함수에 대한 질문입니다.

0

96

1

공부법 관련해서

0

183

2

MakeShared 함수 관련

0

114

1

지금까지 서버코어에서 만든 내용에 대해 궁금한 점이 있어서 질문 드립니다.

0

144

2

운영체제관련 질문입니다

0

131

1

send하려는 데이터 크기가 크면 memcpy에서 문제가 발생할 것 같습니다.

0

117

2

메모리 풀 질문있습니다.

0

124

1