코딩/C와 C++

1편, c++ 프로그래밍 CMake 예제

드리프트 2020. 12. 2. 21:17
728x170

 

 

안녕하세요?

 

C++로 프로젝트를 구성할 때 Visual Studio 같은 IDE를 많이 사용하는데,

 

저는 리눅스나 맥에서 콘솔 방식의 CLI 개발 방식을 선호합니다.

 

이에 구글링으로 배웠던 C++ Console CLI 프로젝트 개발기를 블로그 할 예정입니다.

 

먼저, 준비할 것은 C++ 컴파일러, cmake, git 이 필요합니다.

 

위 세가지는 개발자라면 당연히 가지고 있다고 봅니다.

 

그럼 먼저, 뭔 만들지 생각해 봅시다.

 

저는 youtube-dl 을 이용해 BLACKPINK 뮤직 비디오를 다운 받아서 보는데 youtube-dl을 이용하면 다운로드한 파일 이름 끝에 이상한 난수 문자가 있습니다.

 

간혹 유투브에서 playlist를 youtube-dl로 다운로드하면 그 개수가 너무 많아 일일이 파일 이름을 고치기 귀찮은데 이걸 자동으로 하는 프로그램을 개발해 보기로 합시다.

 

일단, 프로젝트를 구성합시다.

 

프로젝트 이름은 renamer-youtube-dl 이라고 합시다.

 

mkdir renamer-youtube-dl
ls -l

 

이제 해당 디렉토리로 이동하시죠.

 

cd renamer-youtube-dl

 

다음으로 개발자라면 필수 불가인 git 초기화합시다.

 

git init

 

 

이제 본격적으로 VS Code를 실행합니다.

 

본격적인 프로그래밍하기전에 .gitignore 랑 README.md 파일을 만들어야죠!!!

 

나중에 github에 올리기 위한 사전 작업입니다.

 

또, build.sh 랑 build.bat을 만들어 유포 시 쉽게 컴파일할 수 있게 배치파일도 만듭시다.

 

 

 

 

 

 

각각의 파일 내용입니다.

 

 

 

 

.gitignore

build/

 

README.md

# renamer-youtube-dl

## Useful Cpp Library
- CLI

## Build
```bash
    ./build.sh
    or
    build.bat
```

## License
- MIT License

 

build.sh

#!/bin/sh
# Copyright (c) 2012-2020 xxxx (xxxx@gmail.com)
#
# Distributed under the MIT License (MIT) (See accompanying file LICENSE.txt
# or copy at http://opensource.org/licenses/MIT)

# exit on first error
set -e

mkdir -p build
cd build

# Generate a Makefile for GCC (or Clang, depanding on CC/CXX envvar)
cmake -DCMAKE_BUILD_TYPE=Release ..

# Build (ie 'make')
cmake --build .

 

build.bat

@REM Copyright (c) 2012-2020 xxxx (xxxx@gmail.com)
@REM
@REM Distributed under the MIT License (MIT) (See accompanying file LICENSE.txt
@REM or copy at http://opensource.org/licenses/MIT)
mkdir build
cd build

@REM Generate a Visual Studio solution for latest version found
cmake ..
@if ERRORLEVEL 1 goto onError

@REM Build default configuration (ie 'Debug')
cmake --build .
@if ERRORLEVEL 1 goto onError

goto onSuccess

:onError
@echo An error occured!
:onSuccess
cd ..

 

이제 기본적인 골격을 만들었습니다.

 

이제 git commit 합시다.

 

git status

git add --all

git commit -m "first template of cpp project"

 

다음 편에서는 본격적인 개발로 들어가 보시죠.

 

그리드형