라떼군 이야기


더 이상 Visual Studio를 설치하지 마세요: 윈도우 네이티브 개발의 구원자 msvcup

TL;DR 윈도우 개발을 위해 수십 GB의 Visual Studio를 설치하는 고통은 끝났습니다. msvcup이라는 새로운 CLI 도구를 사용하면 필요한 컴파일러와 SDK만 몇 분 만에 격리된 환경으로 설치하여, 가볍고 재현 가능한 빌드 환경을 구축할 수 있습니다.


윈도우에서 C/C++ 프로젝트를 빌드하려면 으레 “Visual Studio 설치"라는 거대한 관문을 통과해야 했습니다. 하지만 수십 기가바이트의 설치 용량, 복잡한 GUI 설정, 깨지기 쉬운 환경 변수는 개발자들에게 오랜 골칫거리였습니다. 이 글은 그 고통스러운 관행을 깨부수고, 윈도우 개발 툴체인을 현대적인 패키지 매니저처럼 다루는 획기적인 방법인 msvcup을 소개합니다.

핵심 내용

저자는 Visual Studio 설치가 단순한 도구 준비가 아니라 ‘운영체제 재설정’에 가까운 부담임을 지적하며, 이를 해결하기 위해 msvcup을 개발했습니다. 이 도구는 마이크로소프트의 공식 매니페스트를 파싱하여 컴파일러(MSVC)와 SDK 등 핵심 구성 요소만 추출해 로컬 디렉토리에 설치합니다. 덕분에 레지스트리를 오염시키지 않고 버전별 격리가 가능하며, curltar만 있으면 어떤 윈도우 머신에서도 즉시 빌드 환경을 구축할 수 있습니다. 또한, vcvars 같은 복잡한 배치 스크립트 의존성을 제거하고 자동화된 환경 변수 설정을 제공하여 빌드 스크립트의 이식성을 극대화합니다.

기술적 인사이트

이 접근의 핵심은 컴파일러 툴체인을 ‘시스템 전역 설정’이 아닌 ‘프로젝트 종속성’으로 격하시켰다는 점입니다. 마치 Node.js의 npm이나 Rust의 cargo처럼, 빌드 도구 자체를 코드(manifest/lockfile)로 정의하고 관리할 수 있게 되었습니다. 이는 “내 컴퓨터에서는 되는데?“라는 고질적인 문제를 원천 차단하며, IDE(Visual Studio)와 컴파일러(MSVC)를 명확히 분리함으로써 개발자가 선호하는 에디터나 빌드 시스템(CMake, Ninja 등)을 자유롭게 선택할 수 있는 유연성을 제공합니다. 단, MSBuild 기반의 레거시 프로젝트나 C++/CLI 등 특정 기능이 필요한 경우에는 여전히 정식 설치가 필요할 수 있습니다.

시사점

실무적으로는 CI/CD 파이프라인 구축 비용과 시간을 획기적으로 단축할 수 있습니다. 무거운 윈도우 도커 이미지를 유지하거나 빌드 에이전트에 VS를 미리 설치할 필요 없이, 빌드 스크립트 내에서 툴체인을 즉시 조달할 수 있기 때문입니다. 또한, 오픈소스 프로젝트의 경우 기여자가 복잡한 환경 설정 없이 스크립트 실행만으로 기여를 시작할 수 있어 진입 장벽을 크게 낮출 수 있습니다.


윈도우 네이티브 개발이 리눅스나 맥OS의 개발 경험처럼 가벼워질 수 있다는 가능성을 보여주었습니다. 과연 마이크로소프트도 이러한 ‘가벼운 툴체인’의 필요성을 인지하고 공식적인 지원을 확대할지, 아니면 커뮤니티 주도의 도구들이 새로운 표준으로 자리 잡을지 지켜볼 만한 대목입니다.

원문 읽기

Collaboration & Support (협업 및 후원) Get in touch (연락하기) →