노력과 삽질 퇴적물

오픈GL: VS2010&openGL 개발용설정 (for *.cpp) 본문

프로그래밍note/DX&OpenGL

오픈GL: VS2010&openGL 개발용설정 (for *.cpp)

MTG 2011. 10. 10. 14:47
목표.

솔루션내 프로젝트들을 소스, 라이브러리, 문서등을 폴더별로 분할시킨다.
개발시 라이브러리나 기능추가가 편하게 프로젝트를 설정한다.
빌드나 소스등을 폴더별로 분산시켜서 멀티플랫폼 컴파일이 가능하게 한다.

1. 새 프로젝트

-> win32 콘솔응용 프로그램
-> 정적 라이브러리




2. 용도별 폴더 분산 및 정리

-> 솔루션내 프로젝트 삭제: 솔루션과 프로젝트의 연결해지인 '논리적 제거'

-> 비쥬얼 스튜디어를 잠시 종료한채로 폴더를 정리하고, 솔루션 폴더내 기본폴더, *.sln, .suo를 build폴더에 넣는다.
다음의 폴더구성은 절대적인것이 아닌 참고사항이다.

bin폴더 : 내부에 bin\Debug와 bin\Release로 구성.
              bin\Debug\*.dll       bin\Debug\*.lib
              bin\Release\*.dll     bin\Release\*.lib
              컴파일된 모든 결과물(debug, release)과 실행시 필요한 구성들이 배치된다.
build폴더 : 비쥬얼스튜디오에 종속적인 복잡한 솔루션&프로젝트파일들이 배치된다.
dev폴더 : 테스트에 필요한 실습자료나 예제들을 모은다.
doc폴더 : 문서정리 모음폴더.
ref폴더 : 프로젝트에 필요한 텍스쳐, 외부 라이브러리 모음.
src폴더 : 실제적인 *.cpp이나 *.h등등.
              src\HLF\Cores\Graphics
              src\HLF\Cores\Math


-> 위의 선택한 4개를 build폴더로 옮긴다.



3. 프로젝트 구성과 설정, Cores

Cores : win32 콘솔응용, 정적 라이브러리인 프로젝트가 하위종속된다.
            라이브러리 연계 및 사용을 위한 곳.
            빌드까지만 시키는 프로젝트가 있는 폴더. 여기서는 솔루션폴더에 있던 기존의 프로젝트.

① 새 프로젝트 폴더


-> (솔루션)우클릭-속성-추가-새 프로젝트 폴더 만들기 : Cores와 Dev
-> (솔루션)우클릭-속성-추가-기존프로젝트. : 
 build\(프로젝트명폴더)\ *.vcproj파일을 실행.


② 새 필터 & 새 항목

-> (프로젝트)우클릭-추가-새 필터 : Graphics
-> (프로젝트)우클릭-추가-새 항목 : RendererGL.h    //위치를 src\(...)\Graphics쪽으로 지정.
-> 소스파일과 헤더파일에 있던 파일들을 위의 사진처럼 Cores폴더 바로 아래로 이동시킨다


③ 프로젝트 속성( 속성창 상단을 '모든 구성'인지 확인)
* 출력디렉토리

-> (프로젝트)속성-구성속성-일반-출력디렉토리

 -> $(SolutionDir)../bin/$(Configuration)\       //참고로 2008은 $(SolutionDir)../bin/$(ConfigurationName)\
-> 프로젝트를 '빌드'만 해서 bin\Debug에 *lib가 생기는것을 확인. (release로 빌드시 bin\Release를 확인)

* 추가 포함 디렉토리 : 경로가 복잡한 소스파일등을 인클루드시 축약하는방법.

-> (프로젝트)속성-구성속성-일반-C/C++-일반-추가 포함 디렉토리

-> $(SolutionDir)../src/HLF;   // 세미콜론(;) 까먹지 말것.

*라이브러리 추가.

-> (프로젝트)속성-구성속성-라이브러리 관리자-일반-추가 라이브러리 디렉토리 : $(SolutionDir)../bin/$(Configuration)\
-> (프로젝트)속성-구성속성-라이브러리 관리자-일반-추가종속성 : 추가_배포_라이브러리명.lib;opengl32.lib;glu32.lib;


이후로 Cores쪽에는 추가적인 설정변경은 거의 없다.



4. 프로젝트 구성과 설정, Dev

Dev : win32 응용, Windows 응용프로그램인 프로젝트가 하위종속된다.
        테스트용 응용폴더.
        Dev 솔루션 폴더(우클릭)- 추가-win32응용프로그램-(마침)


① 출력디렉토리

-> 프로젝트속성-구성속성-일반-출력디렉토리
-> $(SolutionDir)../bin/$(Configuration)\


② 작업디렉토리

-> 프로젝트속성-구성속성-디버깅-작업디렉토리
-> $(SolutionDir)../bin/$(Configuration)\


③ 추가포함 디렉토리

-> 프로젝트속성-구성속성-(모든구성)-c/C++-일반-추가포함dir
-> $(SolutionDir)../src/HLF 로 지정.
 

④ 추가종속성

-> 프로젝트속성-구성속성-링커-입력-추가종속성
-> HLFGraphics.lib;


⑤ 추가라이브러리

-> 프로젝트속성-구성속성-링커-일반-추가종속성
-> $(SolutionDir)../bin/$(Configuration)\