C++ Chapter 20.3 : 외부 라이브러리 설치, 프로젝트 템플릿
카테고리: Cpp
태그: Cpp Programming
인프런에 있는 홍정모 교수님의 홍정모의 따라 하며 배우는 C++ 강의를 듣고 정리한 필기입니다. 😀
🌜 [홍정모의 따라 하며 배우는 C++]강의 들으러 가기!
chapter 20. 중급 프로그래머들의 상식
외부 라이브러리 설치해보기
연습 삼아 NanoGUI 라는 라이브러리를 설치한다고 가정해보자. 이 라이브러리는 라이브러리들을 많이 사용하고 있어서 설치하기 가장 복잡한 사례다.
첫 번째 방법 : git clone
git clone --recursive https://github.com/wjakob/nanogui
- Github 원격 서버에 있는 NonoGUI 라이브러리를 로컬 Repository로서 받아 온다.
--recursive
까지 붙여주면 이 라이브러리가 포함하고 있는 다른 라이브러리들까지 전부 다 clone 된다.
두 번째 방법 : CMake 사용
- CMake 설치
- cmake 홈페이지 - 다운로드 - binary distribution 에서 알맞는 버전의 cmake 다운받기
- CMake 실행
- ‘Where is the source code’ 부분에 원격 저장소 주소를 적어준다. https://github.com/wjakob/nanogui
- 이렇게 클론해오면 클론한 로컬 저장소에
CMakeLists.txt
와📁build
폴더가 생긴 것을 볼 수 있다. 이 📁build 폴더 위치를 ‘where to build the binaries’에 적어준다. - Configure 를 누르고 이어서 Generate을 눌러주면 빌드가 완료되어 📁build 폴더에 NonoGUI.sln 솔루션 파일이 생성되있을 것이다.
외부 라이브러리의 코드를 사용하고 싶을 때
외부 라이브러리 코드를 사용하려 할땐 외부 라이브러리의 프로젝트 속성 설정 값들과 동일해야 한다.
- 외부 라이브러리의 아래 설정들과 동일하게 맞춰야 한다.
-
디버그 모드, 릴리즈 모드에 따라 프로젝트 설정도 다 다르므로 주의하자.
- 프로젝트 속성 - C/C++ - 일반 - 추가 포함 디렉터리
- include 헤더 파일들의 경로
- 프로젝트 속성 - 링커 - 일반 - 추가 라이브러리 디렉터리
- lib 파일 경로
- 프로젝트 속성 - C/C++ - 전처리기 - 전처리기 정의
dll
파일 설정 맞추기- 외부 라이브러리 로컬 저장소의, 랄라주 모드라면 📁release 에, 디버그 모드라면 📁Debug 있는
dll
파일을 복사하여 내 프로젝트 로컬 폴더 위치에 넣어주어야 한다.- 두 모드를 다 사용할 것이라
dll
파일을 두개 복사해와야 한다면 동일한 폴더 내에 이름이 같은 두 파일이 존재하면 안되므로 릴리즈 모드용dll
파일은 내 프로젝트 로컬 폴더의 📁release 에 넣어주자. - 혹은 아예 클론해온 외부 라이브러리 로컬 폴더의
dll
파일이 있는 주소를 비주얼 스튜디오에게 알려주어도 된다.- 프로젝트 속성 - 구성 속성 - 디버깅모드 - 환경
- PATH = “클론해온 외부 라이브러리의 로컬 폴더의 dll 파일이 있는 위치”
- 프로젝트 속성 - 구성 속성 - 디버깅모드 - 환경
- 두 모드를 다 사용할 것이라
- 외부 라이브러리 로컬 저장소의, 랄라주 모드라면 📁release 에, 디버그 모드라면 📁Debug 있는
- 프로젝트 속성 - 코드 생성 - 런타임 라이브러리
- 값도 동일해야 한다. 이부분은 외부 라이브러리를 따라할 필요는 없고 외부 라이브러리를 내 것과 맞게 바꿔도 된다.
-
프로젝트 템플릿
매번 외부 라이브러리를 사용할 때마다 위와 같이 설정들을 일일이 맞춰줘야 하는게 번거롭다면
자주 사용하려는 외부 라이브러리 cpp 코드를 열고 프로젝트 - 템플릿 내보내기
해주면 이 코드와 함께 이 프로젝트에 설정된 모든 설정값이 그대로 보존된 채로 템플릿을 만들 수 있다. 만들어둔 템플릿을 사용하기만 하면 된다. 다만 이렇게 해도 dll
파일은 수동으로 옮겨주어야 한다.
🌜 개인 공부 기록용 블로그입니다. 오류나 틀
린 부분이 있을 경우
언제든지 댓글 혹은 메일로 지적해주시면 감사하겠습니다! 😄
댓글 남기기