프로젝트/메타버스 게임

[메타버스 게임] 캐쥬얼 배틀로얄 프로젝트 Windows 빌드 환경 세팅(VisualStudio)

마달랭 2025. 3. 31. 16:56

개요

vcpkg를 통해 설치한 라이브러리를 코드 작성 및 실제 컴파일 단계에서 오류 없이 사용하기 위해선 설치된 디렉토리를 프로젝트 속성에서 명시해 주어야 한다.

이를 명시해 주지 않는다면 코드 작성 시 include 단계에서 부터 라이브러리를 인식하지 못하며, 링커 단계에서 라이브러리 디렉터리를 명시해 주지 않는다면 컴파일 단계에서 에러가 발생하게 된다.

 

CMakeLists를 통해 CMake 빌드 환경을 구축할 수도 있지만 Windows환경에서 컴파일 및 빌드할 것이라면 더 쉽고 간편하게 VisualStudio 환경에서 세팅할 수 있는 방법을 알아보자

 

 

추가 포함 디렉토리

프로젝트 -> 프로젝트 속성 -> C/C++ -> 일반 탭으로 이동해 준다.

추가 포함 디렉터리에 vcpkg를 통해 설치한 include디렉토리의 경로를 저징해 준다.


위 처럼 지정해 주고 난다면 코드 작성 시 include관련 에러가 사라지게 된다. 만약 사라지지 않는다면 사용한 라이브러리가 vcpkg를 통해 설치된 것인지 실제 경로로 이동하여 확인해 봐야 한다.

 

이후 전처리기 탭으로 이동하여 전처리기 정의를 진행해 준다, 사용하는 라이브러리에 따라 전처리 시 경고나 에러를 무시해 주는 전처리기를 정의해 주어야 한다.

해당 부분은 라이브러리마다 정의해야 할 내용이 다르므로 만약 전처리기를 해주지 않고 빌드를 했다가 오류가 날 경우 해당 오류메시지를 챗GPT나 클로드와 같은 AI모델에게 던져주는게 맘이 편하다.

 

 

추가 라이브러리 디렉토리

추가 포함 디렉토리를 설정하여 코드 상에 문제가 발생하지 않게 되더라도 링커에 추가 라이브러리 디렉토리를 지정해 주지 않는다면 컴파일 단계에서 에러가 발생하게 된다.

 

프로젝트 -> 프로젝트 속성 -> 링커 -> 일반 탭으로 이동해 준다.

추가 라이브러리 디렉터리에 vcpkg를 통해 설치한 라이브러리들이 위치한 디렉터리의 경로를 지정해 준다.

 

이제 입력 탭으로 이동해 준다, 추가 종속성 부분에 사용할 라이브러리들의 실제 파일명을 입력해준다. vcpkg 혹은 vcpkg_installed 디렉토리 내부의 lib디렉토리 안을 보면 확장자 명이 *.lib인 파일들이 존재한다. 해당 파일들과 정확히 파일명이 일치하게 작성해 주어야 한다.

 

만약 파일명이 boost_system.lib이 아닌 boost_system-vc143-mt-x64-1_87.lib이라면 해당 파일 이름 그대로를 추가 종속성에 입력해 주어야 한다. 해당 작업들을 완료하였다면 이제 컴파일 단계에서 오류가 발생하지 않을 것이다.

 

빌드 이벤트

컴파일 단계까지 완료가 되었지만 빌드 후 CLI창에서 "라이브러리 명".dll이 필요하다는 오류가 발생할 수 있다.

 

프로젝트 -> 프로젝트 속성 -> 빌드 이벤트 -> 빌드 후 이벤트 탭으로 이동해 준다.

관련 명령줄에서 필요한 dll파일을 참조할 수 있도록 세팅을 진행해 줘야 한다. 필요한 파일은 역시 일단 부딪혀 보면 알 수 있다. 빌드 후 발생하는 에러 메시지에서 관련된 dll파일들을 실제 vcpkg 내부에 위치한 경로를 기입해 주면 된다.

그게 귀찮다면 그냥 *.dll을 통해 모든 dll파일들을 빌드 후 이벤트의 명령줄에 추가해 주도록 하자

 

 

기타

이제 왠만해선 코드 작성시, 컴파일 시, 빌드 후에 에러가 발생할 확률은 없다.

또한 좋은점은 해당 세팅을 다른 컴퓨터에서 clone 후 사용을 하더라도 비쥬얼 스튜디오 세팅 자체는 이미 해당 포함 디렉터리 혹은 라이브러리 디렉터리를 가리키고 있기 때문에 에러가 날 확률이 적다.

물론 vcpkg의 경우 라이브러리의 용량이 크기 때문에 보통 .gitignore을 통해 push 시 제외하기 때문에 새로운 환경에서 clone을 받게된 경우 vcpkg 설치부터 진행해 주어야 한다.

 

이렇게 세팅을 했는데도 문제가 발생한다면 디렉토리 명이 실제로 일치하는지, 파일명을 정확하게 기재했는지, 오탈자 여부를 검수하는 것이 좋다. 또한 라이브러리의 버전에 따라 C++ 버전을 변경해 주어야 할 때도 있다, 전처리기와 같이 단순한 경고이지만 실행이 되지 않게끔 오류를 발생시키는 경우도 있다. 빌드 오류를 도저히 찾지 못하겠다면 AI에게 도움을 요청하자

728x90