Rinthel Kwon님의 OpenGL Course 영상을 보고 공부한 내용입니다.
- Vscode란?
- CMake란?
- 프로젝트 구성하기
- Version Control System / Source Control
- 프로젝트에 Git 연결하기
Microsoft가 만든 다기능 텍스트 에디터
- 에디터 자체가 가볍고 크로스 플랫폼
- 수많은 확장 프로그램
- Window의 경우에는 Visual Studio 2019 Community Edition을 설치하여 사용
하드디스크의 용량이 적을 시에는 Build Tools for Visual Studio 2019만 설치해도됨
Windows 콘솔창에서 명령어 ‘code’로 vscode 열 수 있음
- macOS의 경우에는 Xcode, Linux의 경우에는 GCC를 사용하면 됨
macOS, Linux에서는 설치 및 실행 후 ctrl - shift - P 눌러서 커맨드 팔렛을 연 후
shell로 검색하여 콘솔창에서 vscode를 활성화하는 것이 가능함
Sidebar (화면 좌측) : 파일 탐색 / 검색 / 소스 컨트롤 / 디버그 / 익스텐션
Editor (화면 우측) :문서 에디팅 화면
화면 하단 : 터미널 / 에러 / 출력 화면 등
- 파일 이동 ➡ ctrl + p
- 커멘드 팔렛 ➡ ctrl + shift + p
Change Language Mode ⇒ 언어 하이라이트 선택
Indent Using Space, [1~...] ⇒ tab 키 눌렀을때 칸 갯수 조절
View Reset Zoom ⇒ 화면 크기 원점으로
- 같은 단어들 선택하기 ➡ ctrl + d
- 화면 확대 / 축소 ➡ ctrl + (+/-)
여러 운영체제(window, mac, linux 등)에 맞는 build process를 작성한 것
CMakeLists.txt의 내용을 바탕으로 각 환경에 맞는 빌드파일을 생성해주는 프로그램
설치 시 언제 어디서든 이용할 수 있도록 시스템 경로(system PATH) 추가함
macOS의 경우에는 brew, Linux의 경우에는 apt-get 이용
Meta-project description : 각 플랫폼에서 선호하는 빌드 방식에 맞는 프로젝트 파일을 생성
- Window ⇒ visual studio project
- Linux ⇒ Makefile
- macOS ⇒ XCode / Makefile
- Android ⇒ Ninja build
cmd 창으로 사용할 디렉토리를 연 후 명령어 ‘code .’을 통해 Vscode 실행
Vscode Extension 설치 ⇒ C/C++, C++Intellisense, CMake, CMake Tools
1. src/main.cpp 파일 작성
간단하게 "hello world"를 출력하여 테스트함
#include <iostream>
int main(int argc, const char** argv) {
std::cout << "hello, world" << std::endl;
return 0;
}
2. CMakeLists.txt 파일 작성
cmake_minimum_required(3.14)
// 관리하는 cmake 버전이 3.14 이하여야함
// set : 변수 세팅
set(PROJECT_NAME cmake_project_example)
set(CMAKE_CXX_STANDARD 17)
// cmake로 시작하는 변수들은 전역 변수
// cxx = c++, c++ standard는 11 14 17 버전이 존재
// 변수 사용할때는 ${변수} 형식으로 사용함
project(${PROJECT_NAME}) // ${PROJECT_NAME}라는 이름의 프로젝트를 세팅
add_executable(${PROJECT_NAME} src/main.cpp)
// main.cpp 소스파일을 컴파일하여 ${PROJECT_NAME} 이름의 실행파일을 만듬
- configure : 빌드하기 전에 각각의 프로젝트 파일 형태로 구체화하는 단계
터미널에 cmake -B(생성할 디렉토리 이름) . -DCMAKE_BUILD_TYPE=Debug 작성하여 실행
⇒ sln(비주얼 스튜디오 솔루션 파일), vcxproj(비주얼 스튜디오 파일) 파일 등등 생성됨
![]()
- build : 실제로 빌드하여 내부적으로 실행함
터미널에 cmake — build (생성한 디렉토리 이름)
⇒ exe 파일이 Debug 폴더에 생성됨
터미널에 .\build\Debug\cmake_project_example.exe 작성하여 실행할 수 있음
Vscode의 익스텐션 기능을 통해 CMake 커맨드를 실행시켜 줄 수 있음
- 커맨드 팔렛에서 cmake로 검색하여 원하는 기능 실행
![]()
- Build 단축키 = F7
Debug 단축키 = ctrl + F5
- 화면 최하단 상태 바의 메뉴로 원하는 기능 실행
- 화면 좌측에 추가로 생긴 cmake 탭에서 원하는 기능 실행 가능
소스 코드의 생성 / 삭제 / 수정 내역을 기록하여 소프트웨어의 버전을 관리해주는 시스템
ex) svn, perforce, mercury, git 등등
- 코드의 버전 관리
- 코드의 백업
- 다른 사람들과 코드를 공유
- 여러 컴퓨터에서 코드를 사용할 수 있음
코드 관리, 협업에서 가장 핵심적인 역할을 하는 도구
Linux를 만든 Linus B. Torvalds가 여러 Linux 개발자들과 코드 관리를 하기 위해 개발
다양한 호스팅 업체들이 서비스중 ⇒ github / gitlab / bitbucket 등
- 리포지토리(repository) : 저장소, 하나의 프로젝트
- 클론(clone) : 저장소 전체 내려받기
- 커밋(commit) : 코드 변경 내역 저장 단위
- 커밋 해시(commit hash) : 각각의 커밋마다 매겨지는 고유 hash id 값
- 푸시(push) : 변경 내역 업로드
- 풀(pull) : 변경 내역 다운로드
- 깃 이그노어(Gitignore) : 관리 및 백업이 필요치 않은 파일들을 제외시키는 작업
.gitignore 파일에 관리 대상에서 제외할 리스트를 작성
⇒ 사이드바의 build 디렉토리 이하의 모든 파일이 회색처리 된 것을 확인할 수 있음
- 깃 클라이언트(Git Cllient) : git을 편하게 사용할 수 있게 도와주는 GUI 클라이언트
ex) SourceTree, Github Desktop, TortoiseGit 등등
- git init : .git 디렉토리가 생성되고 git 실행에 필요한 데이터가 디렉토리에 저장됨
git 설치 후 cmd창이나 프로젝트 터미널에서 실행
- git status : 현재 git 프로젝트 상태를 확인함
Vscode의 Source Control 탭에도 변경사항에 대한 정보를 확인 가능함
- git commit : 파일 변경 사항을 모두 staging하고 변경 내역을 저장함
- git log : 현재까지 적용된 commit들을 확인할 수 있음
Git 설치
Git Download
Git 클라이언트 중 Fork 사용
Fork Download
프로그램 다운 받은 후 프로젝트 폴더 열기
build 파일은 굳이 올릴 필요가 없으므로, .gitignore 파일을 만들어 그 안에 지정해줌
포크에서 깃헙에 올릴 파일을 stage ⇒ 변경사항을 기록한 뒤 커밋
깃헙으로 들어가서 새 리포지토리 생성 후 주소를 복사해서 가져옴
포크로 돌아와서 왼쪽 사이드바의 Remotes의 Add Remotes 클릭
깃헙 브랜치 이름이 main으로 되어있으므로 포크 브랜치 이름을 master ⇒ main로 변경
Push ⇒ 업로드가 성공적으로 되면 깃헙 아이콘이 뜸
README 파일을 추가하여 꾸밀수 있음
잘못된 부분에 대한 지적은 언제나 환영합니다.