안녕하세요?
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"
다음 편에서는 본격적인 개발로 들어가 보시죠.
'코딩 > C와 C++' 카테고리의 다른 글
1편-예제를 통한 C 언어 기초 강의 (0) | 2020.12.29 |
---|---|
C++에서 spdlog 를 활용해서 log를 좀 더 쉽게 해보기 (2) | 2020.12.11 |
4편, c++ 프로그래밍 CMake 예제 (0) | 2020.12.05 |
3편, c++ 프로그래밍 CMake 예제 (0) | 2020.12.03 |
2편, c++ 프로그래밍 CMake 예제 (0) | 2020.12.02 |