MinGW 3

Windows 한글 계정명에서 발생하는 CMake 빌드 에러 원인과 해결 방법

들어가며최근 CMake를 C++ 프로젝트를 빌드하면서 특정 Windows PC에서만 빌드 에러가 발생하는 흥미로운 버그를 만났다.향후 비슷한 문제를 마주했을 때 빠르게 원인을 파악하고 대처할 수 있도록,이번 트러블 슈팅 과정에서 배운 버그 발생 원인과 해결방법을 정리해 보려 한다.문제 상황이 빌드 에러는 다음과 같은 특정 환경에서만 발생했다.OS: WindosWindows 사용자 계정: 한글 이름 사용 (예: C:\Users\전인학\...)OS 설정: "시간 및 언어 > 언어 및 지역 > Beta: ...Unicode UTF-8" 옵션이 꺼져 있는 상태원인 분석: 빌드 도구 간의 인코딩 불일치사용자 계정명이 한글일 때 오류가 발생하는 원인을 조사해 보니,빌드 파이프라인에 동원되는 각 도구별로 사용하는 인..

개발 2026.03.31

시스템 시간 변경 후 빌드가 깨진 이유 ㅡ 증분 빌드와 타임스탬프 문제

들어가며시스템 시간을 변경 기능을 테스트하던 중, 소스 코드가 간헐적으로 빌드되지 않는 문제를 겪었다. 버그는 아주 엉뚱한 위치에서 발생했고,같은 코드를 두고도 어떤 때는 빌드가 되고, 어떤 때는 되지 않는 이상한 상황이었다.재현 조건을 찾기 어려워 원인 파악이 쉽지 않았다. 결국 예전에 공부한 컴파일 과정과 빌드 시스템의 동작 방식에서 답을 찾을 수 있었다.현재 진행 중인 프로젝트는 C++ 기반이며,"무중단 업데이트(Hot Swap)"를 지원하는 구조를 가지고 있다.문제 정리내가 겪은 문제를 버그 리포트로 작성하면 다음과 같다.버그 제목 : 시스템 시간 변경 후 "부분 빌드" 시 변경 내용 미반영시스템 시간 변경 후 부분 빌드(증분 빌드) 실행 시 변경 내용이 반영되지 않음부분 빌드 실행 시 정상적으로..

개발 2026.01.09

googletest(gtest) 설치부터 빌드까지: C++11 개발 환경 구성기

지난 글에서 gtest로 유닛테스트에 관한 글을 작성했다. 업무하면서 googletest를 설치하고 가볍게 따라할 수 있도록 gtest를 설치하는 방법을 기록해 보자.gtest(googletest) 다운로드googletest의 설치는 git 을 이용해 아주 쉽게 할 수 있다. 다만, 나는 업무에서 C++ 11버전을 사용하는데 gtest 최신 버전은 이를 지원하지 않는다. 따라서 구버전의 gtest가 필요하다.Windows PC에 git 을 설치하고 cmd에서 버전 명령을 통해 실행되는지 확인하자.git --version git이 잘 실행된다면 온라인에 등록된 googletest git 저장소 에서 clone 명령어를 통해 다운로드 받을 수 있다.gtest는 설치 후 별다른 설정 없이 컴파일러를 이용해 빌..

개발 2025.11.25