WSL(Windows Subsystem for Linux) 설치하기 본 글에서는 WSL(Windows Subsystem for Linux)을 설치하는 방법을 소개한다. 본 글에서 사용된 환경은 다음과 같다. 윈도우즈 10 프로 1909 1. DISM 명령어를 실행한다. WSL을 실행할 수 있도록 설정하기 위해 DISM 명령어를 실행한다. 바탕화면 좌측 하단의 윈도우 키를 클릭하여 검색 창에 "명령 프롬프트" 입력 후, 마우스 우측 버튼을 클릭하여 "관리자 권한으로 실행" 메뉴를 실행한다. 실행된 명령 프롬프트 창에서 다음 두 명령어를 입력한다. dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /nore..
Visual studio code로 개발 환경 구성하기 본 글에서는 Visual studio code(비주얼 스튜디오 코드)로 개발환경을 구성하는 방법에 대해 소개한다. 참고로 본 글에 소개된 내용들은 현재 본인이 개발 업무를 진행하면서 주로 사용하는 기능들 위주로 작성되어 있다. 본 글에서 사용된 환경은 윈도우 10 프로이다. 1. 공식 홈페이지에서 설치 파일을 다운로드 하여 설치한다. Visual Studio Code - Code Editing. Redefined Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications. Visual Studi..
글꼴(폰트) 설치 : 나눔고딕코딩 본 글에서는 윈도우즈 10에서 "나눔고딕코딩" 폰트를 설치하는 방법에 대해 설명한다. 나눔고딕코딩은 국내에서 개발된 코딩 전용 폰트이다. 국내에서 만들어졌기 때문인지 몰라도 개인적으로는 한글 폰트가 매우 마음에 들어 주로 사용하고 있다. 현재 개발 환경으로 CLion과 Visual studio code를 주로 사용하고 있는데, CLion에서는 JetBrains에서 만든 Mono 폰트를 별도로 설치하여 사용하고 있고, Visual studio code에서는 기본 폰트인 Consolas를 사용하고 있다. 하지만 해당 폰트들은 영문 전용 폰트인 관계로 한글 폰트로는 나눔고딕코딩 폰트를 별도로 설치하여 사용하고 있다. 나눔고딕코딩 폰트를 설치하는 방법은 다음과 같다. 1. 깃허..
CLion을 사용하고 있는데 어느 순간 "Find in Path" 메뉴에서 검색이 잘 되지 않는 경우가 발생하였다. 이 경우 "File" → "Invalidate Caches / Restart" 메뉴를 실행하여 해결하였다. 해당 메뉴를 실행하면 CLion이 재실행되고 검색 동작이 다시 정상적으로 동작한다. (또한 꼭 필요한 절차인지는 모르겠으나 CMakeCache.txt를 삭제한 후 "Reload CMake Project" 메뉴를 실행한 후 검색을 진행하였다)
리눅스에 CMake 설치하기 : 3.18.0 버전 본 글에서는 글 작성 시점의 최신 안정 버전인 3.18.0 버전의 cmake를 리눅스에 설치하는 방법을 소개한다. 본 글에서 사용된 리눅스 환경은 다음과 같다. Ubuntu 리눅스 18.04 0. 만약 기존에 apt 명령을 통해 설치된 cmake가 이미 있을 경우 다음 명령으로 제거한다. sudo apt purge cmake 1. 필요한 패키지를 설치한다. $ sudo apt update $ sudo apt install wget build-essential 2. CMake 3.18.0 버전을 다운로드하고 압축을 해제한다. $ wget https://github.com/Kitware/CMake/releases/download/v3.18.0/cmake-3...
리눅스에 CMake 설치하기 : 3.17.3 버전 본 글에서는 글 작성 시점의 최신 안정 버전인 3.17.3 버전의 cmake를 리눅스에 설치하는 방법을 소개한다. 본 글에서 사용된 리눅스 환경은 다음과 같다. Ubuntu 리눅스 18.04 0. 만약 기존에 apt 명령을 통해 설치된 cmake가 이미 있을 경우 다음 명령으로 제거한다. sudo apt purge cmake 1. 필요한 패키지를 설치한다. $ sudo apt update $ sudo apt install wget build-essential 2. CMake 3.17.3 버전을 다운로드하고 압축을 해제한다. $ wget https://github.com/Kitware/CMake/releases/download/v3.17.3/cmake-3...
CMake를 이용한 C 언어 프로그래밍 #2 : 컴파일 정의(definition) 추가하기 본 글에서는 CMake를 사용하여 컴파일할 때 컴파일 정의(definition)을 추가하는 방법을 설명한다. 다음 두 가지 cmake 커맨드를 통해 컴파일 정의를 추가할 수 있다. add_compile_definitions() target_compile_definitions() add_compile_definitions() add_compile_definitions() 커맨드는 현재 CMakeLists.txt 및 하위 CMakeLists.txt 내에서 전역으로 적용되는 정의를 추가하는데 사용된다. 즉, 본 커맨드를 통해 정의를 추가하면 CMakeLists.txt 상에 기술된 모든 타겟에 동일하게 적용된다. 다음은 ..
CMake 커맨드: 이것저것 공통 사항 1. 커맨드는 대소문자 모두 사용 가능하다. 즉, set() 과 SET() 모두를 사용할 수 있다. SET 커맨드 1. SET 커맨드로 설정된 항목의 적용범위는 현재 디렉토리 및 하위 디렉토리(CMakeLists.txt)에만 적용된다. 상위 CMakeLists.txt나 동일레벨 타 CMakeLists.txt에는 적용되지 않는다. 2. SET 커맨드로 설정된 VAR 항목이 true/false와 같은 값으로 설정된 경우, if(${VAR})로 사용할 수 있다. STREQUAL 등의 비교 커맨드를 사용하지 않아도 된다. set (VAR true) if (${VAR} STREQUAL "true") do_something endif () # 아래와 같이도 사용 가능하다. i..
CMake 커맨드: OPTION CMake 커맨드 중 OPTION이라는 커맨드가 있다. 이는 ON, OFF 상태를 갖는 항목의 값을 설정하고 그 값에 따라 선택적인 빌드 등을 수행하는데 사용된다. 사용법은 다음과 같다. OPTION( "" [value]) value : ON/OFF if () do_something else () do_something endif () 다음은 BUILD_UNIT_TEST라는 옵션 값에 따라 단위테스트용 라이브러리를 링크시키도록 구현된 예제이다. OPTION (BUILD_UNIT_TEST "Build unit test or not" ON) if (BUILD_UNIT_TEST) target_link_libraries(${TARGET} gtest gtest_main) endif..
CMake를 이용한 C 언어 프로그래밍 #1 : Hello world 본 글에서는 CMake의 가장 기본적인 문법과 사용방법을 설명하기 위해 Hello world 예제를 만들어 본다. 본 글에서 사용된 환경은 다음과 같다. CMake 실행 및 빌드 환경 : 우분투 리눅스(도커 컨테이너) 리눅스 상에 CMake를 설치하는 방법은 다음 글에서 확인할 수 있다. 2019/08/02 - [개발환경/CMake] - 리눅스에 CMake 설치하기 다음과 같이 hello.c 파일을 작성한다. "Hello world"라는 문자열을 출력하는 매우 간단한 프로그램이다. #include int main(void) { printf("Hello world\n"); return 0; } hello.c 파일과 동일한 디렉터리 내에 ..
도커(Docker) : 사용자 계정으로 리눅스 컨테이너 실행하기 본 글에서는 리눅스 도커 컨테이너를 실행할 때 특정 사용자 계정으로 컨테이너를 실행하는 방법에 대해 소개한다. 기본 명령으로 리눅스 도커 컨테이너를 실행하면 다음과 같이 root 계정으로 컨테이너가 실행된다. C:\Users>docker run -it ubuntu:14.04 root@8d377bfb3ae0:/# 리눅스를 root 계정으로 사용하면 일부 제약 사항이 있을 수 있으므로, 일반 사용자 계정으로 실행해야 하는 경우가 있다. 도커 컨테이너 실행 시에 "-u " 옵션을 사용하면 원하는 사용자 계정으로 컨테이너를 실행할 수 있다. 물론 이 경우에 해당 사용자 계정이 도커 이미지 내에 이미 생성되어 있어야 한다. 다음은 초기 도커 컨테이너..
CLion: JetBrains Mono 폰트 적용 (매우 만족) JetBrains에서 올해(2020년) 초에 개발자를 위한 무료 폰트(글꼴)인 Mono 폰트를 출시하였다. Mono 폰트의 특성에 대한 소개는 아래 JetBrains 공식 홈페이지에서 확인할 수 있다. JetBrains Mono: A free and open source typeface for developers Try JetBrains Mono in your IDE. Its simple forms and attention to every detail make coding a nice experience for developers’ eyes, no matter which IDE you choose. www.jetbrains.com 현재 CL..