[Steam Network] C++ 기반 Steam GameNetworkingSockets 프로젝트 빌드 하는 방법

2020. 12. 15. 19:27카테고리 없음

728x90

[준비]

visual studio

vcpkg

 

[시작]

Steam GameNetworkingSockets C++ Site 화면

github.com/ValveSoftware/GameNetworkingSockets 접속 후 다운로드한 후 압축을 풀어요

cmd 창을 관리자 권한으로 실행 한 다음 압축 풀은 폴더 안으로 이동해요

c:\설치된 폴더명\vcpkg.exe --overlay-ports=vcpkg_ports install gamenetworkingsockets --triplet x64-windows

⁘ 위 명령어를 입력 후 실행하면 x64-windows폴더 안에 필요한 라이브러리를 생성해요

vcpkg 실행 후 폴더&파일 생성 화면

해당 폴더들을 가져와서 연동할 프로젝트의 속성으로 추가하면 돼요

vcpkg.exe list

cmd 창에서 vcpkg가 설치된 폴더로 이동 한 다음 위 명령어를 입력 후 실행해요

⁘ 설치된 목록을 확인해요

⁘ 테스트 용도의 글이기 때문에 일일이 속성 설정을 해주기보다 vcpkg를 이용해서 자동으로 프로젝트에 설정해요

vcpkg.exe integrate install

위 명령어를 입력 후 실행 한 다음 visual studio를 켜고 c++ 프로젝트를 생성해요

#include <assert.h>
#include <stdio.h>
#include <stdarg.h>
#include <string.h>
#include <algorithm>
#include <string>
#include <random>
#include <chrono>
#include <thread>
#include <mutex>
#include <queue>
#include <map>
#include <cctype>

#include <GameNetworkingSockets/steam/steamnetworkingsockets.h>
#include <GameNetworkingSockets/steam/isteamnetworkingutils.h>
#ifndef STEAMNETWORKINGSOCKETS_OPENSOURCE
#include <steam/steam_api.h>
#endif

#include <windows.h>


int main()
{
	SteamDatagramErrMsg errMsg;
	if (!GameNetworkingSockets_Init(nullptr, errMsg))
		return 1;

	GameNetworkingSockets_Kill();

	return 0;
}

위 코드를 입력 후 빌드하면 에러가 나요

⁘ 에러 파일은 steamnetworkingtypes.h 안에 include 경로가 안 맞아서 나는 에러니 해당 경로를 수정해요

//에러가 났던 부분
#include <minbase/minbase_identify.h>
#include <minbase/minbase_decls.h>

//위 에러 부분을 밑에 경로로 수정
#include <GameNetworkingSockets/minbase/minbase_identify.h>
#include <GameNetworkingSockets/minbase/minbase_decls.h>

다시 빌드하면 정상적으로 빌드가 돼요🤗