공사중

How to add third party libraries to project 본문

개발 | OpenGL/LearnOpenGL

How to add third party libraries to project

행운개발자 LuckyDeveloper 2019. 2. 17. 22:46

https://learnopengl.com/Getting-started/Creating-a-window

위 링크의 튜토리얼을 보고 따라하면서 나중에 리마인드할 때 보기 위해서 정리한 포스팅입니다.


그래픽을 그리기 위해서는 window, context, handler를 만들어야하지만 OS 마다 이들을 만드는 방법이 다릅니다. 그래서 openGL은 이들을 만드는 방법을 플랫폼과 상관없는 추상화된 방법을 제공합니다. OS마다 차이가 없는 방법으로 제공되기 때문에 편리하지만 context와 handler를 정의하는 것을 개발자가 직접 해야한다는 단점이 있습니다. 특히 openGL을 위해서 이런 수고(각 플랫폼 별로 같은 일을 하기 위해서 다른 코드를 작성해야하는)를 덜어주는 것이 여러가지 있고 우리는 이들 중 GLFW를 사용할 것입니다.


먼저 아래의 링크에서 source package를 다운받습니다.

빨간 밑줄을 친 IDE를 사용한다면 pre-compiled binaries를 다운 받아도 됩니다.

저는 VS2017을 사용할 것이고 pre-compiled를 지원하지 않기 때문에


1.Source package를 다운 받아서

2.CMake를 사용해서 VS2017의 프로젝트로 만들고

3. 이 프로젝트에서 빌드를 통해서 컴파일된 .lib파일을 만들어낼 것 입니다.




cmake를 다운받고 위에서 다운 받은 glfw의 루트폴더와 새로 만든 build폴더를 각각 선택합니다.

build폴더에는 Cmake를 통해서 만들어지는 .sln파일이 저장될 위치입니다.


configure를 한 번 더 누르고, 빨간 화면이 나오면 한 번 더 configure를 누른 다음에 generate를 누릅니다.

그러면 .sln파일(프로젝트 파일)이 위에서 지정했던 build 디렉토리에 생성됩니다.



Since CMake generated a project file that already contains the proper configuration settings we can hit the Build Solution button and the resulting compiled library can be found in src/Debug named glfw3.lib (note, we're using version 3).


the resulting compiled library can be found in src/Debug named glfw3.lib (note, we're using version 3).



이렇게 만들어낸 .lib파일에 더해서,


source package를 다운 받으면 아래와 같은 경로에 두 개의 헤더파일을 찾을 수 있습니다.


  새로운 프로젝트를 만들고 그 프로젝트에게  이 세 개의 파일을 추가해서 GLFW를 사용할 수 있도록 해보겠습니다. 먼저 이 세 개의 파일의 위치를 찾기 쉬운 곳으로 옮기는 것이 좋습니다. 왜냐하면 새로운 third party dependencies가 추가됐을 때 각가의 경로에서 하나씩 파일을 추가하는 것은 불편하기 때문입니다.




두 개의 .h 헤더파일은 includes 파일에, 하나의 .lib 파일은 lib 파일에 넣습니다.

이 때 헤더파일은 GLFW라는 디렉터리에 두 개의 헤더파일이 들어있는 그대로 옮깁니다.

이는 각각의 헤더파일이 어떤 API에 속하는지 구분해서 저장하면 찾기 쉽기 때문입니다.


다음으로 library 포함 디렉터리와 라이브러리 디렉터리를 지정합니다. 

새로 만든 프로젝트의 디렉터리에서 우클릭>속성>VC++ 디렉터리에 들어가서

포함 디렉터리와 라이브러리 디렉터리에 각각의 디렉터리를 추가해줍니다.

//사진에서 Libraries/include와 같이 되어있는데 그냥 include디렉토리에 저장하는 것이 더 편합니다.

//이것만 기억하면 됩니다.  헤더파일.h는 include 파일에, 라이브러리.lib파일은 .lib파일에!


다음으로 아래와 같이 어떤 라이브러리를 사용할 것인지 지정해줍니다.


이제 GLFW를 사용할 수 있게 되었습니다. 아까 GLFW 디렉터리까지 한꺼번에 include 파일에 옮긴 이유입니다. 원하는 헤더파일을 찾기가 쉽습니다.


GLFW를 추가하는 부분을 성공했다면 GLAD를 추가하는 부분에서도 어려움이 없습니다. 똑같이 진행하면 됩니다. 



'개발 | OpenGL > LearnOpenGL' 카테고리의 다른 글

window 띄우기  (0) 2019.02.17
OpenGL이 뭐지? : openGL, GLFW, GLAD 의미  (0) 2019.02.17