현재 VS Code는 x86 & x64 아키텍처에 대해서만 공식적으로 지원을 하고 있다.
그래서 Raspberry Pi나 Odroid 같은 ARM 기반 보드들은 [이곳]에서 제공하는, ARM 버전으로 컴파일된 설치파일을 이용해야 한다.
해당 페이지에서 자동 설치 커맨드를 공개했지만 본인의 Odroid 환경에선 설치가 되지 않아 [이곳]에서 직접 설치파일을 받아 설치를 했다. Odroid XU4는 ARM 32비트 아키텍처(arm-v7)기 때문에 armhf를 받아 설치하면 되고 ARM 64비트면 arm64를 받으면 된다.
VS Code를 설치하고 나면 터미널에선 “oss-code“를 입력하면 실행되고, GUI 환경에선 “Applications->Programming->Code – OSS“로 실행할 수 있다.
최초 실행 시 몇 가지 해줘야할 것들이 있다.
- sudo apt-get install curl 실행하여 curl 설치
- sudo apt-get install cmake 실행하여 CMake 설치
- VS Code Extensions에서 “C/C++ (Microsoft)”, “CMake (twxs)”, “CMake Tools (vector-of-bool)”, “CMake Tools Helper (maddouri)”, “Native Debug (webfreak)” 확장프로그램을 설치해준다.
여기까지 하면 환경 준비는 끝난다. 아래는 프로젝트 준비이다.
VS Code로 컴파일과 디버깅을 하려면 폴더 안에서 놀아야 한다. 임의의 경로에 프로젝트용 폴더를 하나 만든 후 VS Code에서 Open Folder를 통해 해당 폴더로 이동해준다. 그런 다음 New File(Ctrl + N)으로 원하는 파일들을 만들어주면 된다. 아래는 파일들을 준비한 이후의 탐색기 화면이다.
빌드 및 디버그를 하기 위해선 tasks.json과 launch.json을 수정해야 한다. [이곳]에 자세하게 설명이 되어있다.
- Ctrl+Shift+P를 누르고 “Tasks: Configure Task Runner”를 실행한다.
- Others를 선택한다.
- 아래와 같이 tasks.json을 수정한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
{ "version": "0.1.0", "command": "bash", "isShellCommand": true, "args": [ "-C" ], "showOutput": "always", "options": { "cwd": "${workspaceRoot}" }, "tasks": [ { "taskName": "build", "suppressTaskName": true, "isBuildCommand": true, "args": [ "cmake . && make" ] }, { "taskName": "run without debug", "suppressTaskName": true, "args": ["${workspaceRoot}/${fileBasenameNoExtension}"], "isTestCommand": true } ] } |
- Ctrl + K,S 를 눌러 Keyboard Shortcuts를 불러오고, “Run Test Task”의 단축키를 설정해준다. (예: Ctrl + F5)
- Debug->Open Configurations->C++ (GDB/LLDB) 를 선택하여 launch.json을 생성한 후, 아래와 같이 수정한다.
1 2 3 4 5 6 7 8 9 10 11 12 |
{ "version": "0.1.0", "configurations" : [ { "type": "gdb", "request": "launch", "name": "Launch Program", "target": "${workspaceRoot}/${fileBasenameNoExtension}", "cwd": "${workspaceRoot}" } ] } |
여기까지 했다면 남은 건 CMakeLists.txt를 작성하는 일이다. 아래는 예시이다. (자세한 작성법은 따로 알아보세요.)
1 2 3 4 5 6 |
cmake_minimum_required(VERSION 3.0) project(hello) set(SOURCE hello.cpp) add_executable(${PROJECT_NAME} ${SOURCE}) |
소스코드까지 작성을 완료했으면
- Ctrl+Shift+B를 눌러 빌드
- Ctrl+F5를 눌러 디버그 없이 실행(콘솔 입력이 들어가는 프로그램은 이거 쓰면 입력할 방법이 없으니 주의)
- F5를 눌러 디버그
를 할 수 있다.
CMake의 부산물로 나오는 파일들을 정리하고 싶으면 CMakeLists.txt와 같은 경로에 “clean.sh”라는 텍스트 파일을 만들고 아래와 같이 채워넣자.
1 |
find . -iwholename '*cmake*' -not -name CMakeLists.txt -delete |
그런 다음 터미널에서 “chmod +x clean.sh” 를 실행해 해당 파일을 실행 가능하게 만들어주면 된다. VS Code에는 하단에 TERMINAL 창이 있기 때문에 이를 쉽게 실행할 수 있다.
끝.
Windows에선 C/C++ 확장 설치하면 intellisense가 작동하던데 왜 여기선 작동 안하는지 모르겠다.