- 본 프로젝트는
LLVM/Clang기반C++컴파일 환경,VSCode개발 설정,C++20~26최신 기능을 활용한 예제 코드 를 포함한 최소/완성형 템플릿입니다. Windows·Linux에서 공통적으로 동일한 구조로 사용하도록 설계되었습니다.
- 이 프로젝트는 다음을 포함합니다:
CMake기반 빌드 시스템clang/clang++강제 사용 설정C++26컴파일 활성화LLD링크 사용(-fuse-ld=lld)VSCode개발 환경 설정 (IntelliSense,clangd,LLDB DAP)C++20/23/26기능을 사용한 예제 코드(main.cpp)
LLVM_HOME환경 변수를 우선 적용Windows환경에서 자동으로C:/llvm-package사용
clang,clang++을 강제CMAKE_C_COMPILER/CMAKE_CXX_COMPILER로 설정LLD링크 사용 (-fuse-ld=lld)C++26컴파일 활성화 (target_compile_features(... cxx_std_26))compile_commands.json자동 생성
➡ VSCode + clangd 사용자의 기본 구조로 매우 이상적입니다.
C++20ranges/views/std::formatC++23std::expectedC++26deducing this문법 적용 (Point::move)- 고급 예제 포함(필터링·변환·
join view·구조화된 메시지 생성 등)
- 이 파일 하나만으로
C++20~26기능의 실제 실행 예제 를 모두 확인할 수 있습니다.
IntelliSense엔진을clang기반으로 설정compile_commands.json을 자동 참고includePath기본 설정
- 다음 확장 자동 추천
ms-vscode.cmake-toolsms-vscode.cpptoolsllvm-vs-code-extensions.vscode-clangd
LLDB-DAP기반 디버깅 설정OS별 실행 파일 자동 분기 (Windows는hello.exe)
CMake generator = Ninjaclang++를IntelliSense기본 컴파일러로 설정editor.formatOnSave옵션
CMake ConfigureCMake BuildVSCode빌드 자동화 구성
cmake -S . -B build -G Ninja
cmake --build build --config Debug./build/hello.\build\hello.exe-
(1) 확장 설치
ms-vscode.cmake-toolsllvm-vs-code-extensions.vscode-clangdllvm-vs-code-extensions.lldb-dap
-
(2)
VSCode왼쪽 실행/디버그 메뉴 → Debug (lldb-dap) 실행
- C++20 / C++23 / C++26 주요 신기능 실제 실행 가능
ranges,views,format,expected모두 포함- "
deducing this" 문법을 사용한 연산자 체이닝 스타일 사용 - 예제 메시지를 스트링으로 조립하여
main에서 출력
project_root/
│ CMakeLists.txt
│ main.cpp
│
├─ .vscode/
│ ├─ c_cpp_properties.json
│ ├─ extensions.json
│ ├─ launch.json
│ ├─ settings.json
│ └─ tasks.json
│
└─ build/ (cmake가 생성)
LLVM/Clang개발 환경 테스트- 최신
C++표준(C++20~C++26) 실험 VSCode+clangd+LLDB기반C++프로젝트 기본 구조CMake기반 멀티플랫폼 템플릿
- MIT