본문 바로가기

Cocos2d-x

visual studio 외부 include library 설정 방법

Visual Studio 2010에서 c++ 외부 라이브러리 설정에 대하여

안녕하세요. 저는 전주멤버십 20-2기 신재선입니다.
제가 주로 사용하는 언어는 c++이고, Visual Studio에서 개발을 많이 하여서 개발하기 전에 외부라이브러리를 사용하는데 필요한 설정에 대해서 설명하려고 합니다. 

버전이 업데이트 되면서 관련기능의 위치가 바뀌거나, 간단한 것인데도 개발 툴이 익숙하지 않아서 불편을 겪는 분들에게 이 글이 도움이 되었으면 합니다.

1. 빌드 전 필요한 설정

현재는 자신이 만든 소스 외에도 다른 사람이 만든 라이브러리를 사용하는 경우가 많습니다.

Visual Studio에서는 라이브러리를 사용하기 위해 다음과 같은 방법을 제공합니다.

1.1 선택한 프로젝트에만 경로를 설정하는 방법

솔루션 탐색기에서 프로젝트를 선택한 다음


 그림 1  속성 메뉴

구성 속성 -> VC++ 디렉터리를 선택합니다.
 


그림 2  VC++ 디렉터리

디렉터리의 메뉴들 중에서 포함 디렉터리에는 .h파일(헤더파일)의 경로를 설정해주고, 라이브러리 디렉터리에는 .cpp혹은 .c(소스파일)의 경로를 설정해줍니다.

이 방법은 선택한 프로젝트에만 적용되는 방법으로 새로운 프로젝트를 만들 경우에는 기존에 적용한 경로들이적용되지 않습니다.
1.2 모든 프로젝트에 라이브러리를 설정하는 방법

보기 메뉴의 하단에서 속성 관리자를 선택합니다.


그림 3  속성 관리자 메뉴

선택한 경우 아래 그림과 같이 속성 관리자 탭이 보이게 됩니다.


그림 4 속성 관리자 탭

파란색으로 표시된 프로젝트를 선택하고 왼쪽의 작은 삼각형을 클릭하여 Debug|Win32 폴더를 선택후(디버그모드의 경우) Microsoft.Cpp.Win32를 선택하고 우클릭하여 속성 메뉴를 클릭합니다.


그림 5  속성 관리자에서 프로젝트 속성

1.1에서와 같이 디렉터리를 지정하여 줍니다. 이 방식대로 하면 프로젝트를 매번 새로 생성하더라도 설정한 디렉터리가 그대로 적용되게 됩니다.

1.3 선택한 프로젝트에만 경로를 설정하는 방법

Include 폴더 설정

1.1에서와 같이 프로젝트의 속성 페이지로 들어가서 아래 그림과 같이 빨간색으로 표시된 구성 속성의 C/C++메뉴를 선택합니다.


그림 6 추가 포함 디렉터리

파란색으로 표시된 추가 포함 디렉터리에 .h파일(헤더파일)의 경로를 추가하고, 여러개를 추가할 경우 세미콜론(;)으로 구분합니다.


Library 폴더 설정

 
그림 7 추가 라이브러리 디렉터리
 
빨간색으로 표시된 구성속성 -> 링커 -> 일반 메뉴에서 파란색으로 표시된 추가 라이브러리 디렉터리에Include 폴더와 같이 추가해줍니다.


1.1, 1.3모두 결과적으로는 같으나 1.3의 경우 설정이 프로젝트 내에 남아있기 때문에 다른 컴퓨터에 복사하여 사용해도 폴더 경로가 그대로 남아있게 됩니다.
Visual Studio 6.0부터 2008까지는 1.1의 방식을 사용하였다면 2010부터는 적용이 되지 않아 불편함을 느끼실거라는 생각이 듭니다. 또한 예제나 샘플로 웹에 올라온 소스들은 1.3의 방식을 가장 많이 사용하기 때문에 1.3의 방식을 알아두는 것이 좋을 것 같습니다. 하지만 모든 프로젝트에 항상 쓰이는 꼭 필수적인 라이브러리들은 1.2의 방식으로 작성하면 편리할 거라는 생각이 듭니다.

2. 프로그램 실행 설정

코드 작성을 마친 후 컴파일하여 실행할 경우 보통 아래 그림과 같이 설정되어있습니다.


그림 8 실행 파일 생성 설정

파란색으로 표시된 출력 디렉터리의 경우 프로젝트를 처음 만들었을때의 기본 설정으로 디버그 모드의 경우
솔루션폴더/Debug 폴더에 실행파일이 만들어지게 됩니다. 또한, 실행파일의 이름은 빨간색으로 표시된 대상 이름에 표시된 것처럼 프로젝트 이름이 실행파일명이 됩니다.

보통의 경우 이 부분을 수정하지 않기 때문에 문제가 되지 않지만 이 부분을 수정할 경우 컴파일시 오류가 나지 않더라도 경로의 문제 때문에 Visual Studio에서 실행이 되지 않습니다. 따라서 출력 디렉터리 및 대상 이름을 수정하거나 혹은 실행이 되는 경로를 다르게 설정해야합니다.


그림 9 실행 파일 경로 설정

프로젝트 속성 메뉴에서 구성 속성-> 디버깅-> 작업 디렉터리와 (위 그림에서 파란색 부분) 명령(위 그림에서 빨간색 부분)을 출력 디렉터리 및 대상이름과 맞춰주면 올바르게 실행이 됩니다. 여기서 명령은 실행될 파일의 경로 및 파일명이 들어가게 되고, 작업 디렉터리는 실행파일이 실행하는 위치가 됩니다. 보통 여러개의 dll 파일을 로드하는 프로그램의 경우 작업 디렉터리를 따로 설정하여 사용하기 때문에 Visual Studio에 익숙하지 않은 분들이 프로그램을 실행못하는 경우가 있습니다.

또한 사용자 지정 빌드 단계라는 것이 존재합니다.


그림 10  사용자 지정 빌드 단계

여기서 이후 실행 메뉴의 경우 생성된 실행 파일을 다른 폴더로 옮기는 커맨드를 실행할 경우도 있기 때문에 컴파일 에러가 없는데 실행이 되지 않는 경우 이곳을 확인하는 것도 하나의 방법입니다.

모든 것을 스스로 개발할 수도 있지만, 타인이 개발한 라이브러리를 가져와 사용하는 것 또한 좋은 방법이라고 생각합니다. 외부 라이브러리를 사용하다가 문제가 생기는 경우 이 글이 조금이나마 도움이 되었으면 좋겠습니다. 읽어주셔서 감사합니다.