태그: CMake
9편
-
CMake 에러 해결: 컴파일러·find_package·링커·캐시 문제를 단계별로 좁히는 법
CMake 에러를 configure·generate·build·실행 단계로 나눠 원인을 좁히는 방법을 정리합니다. CMake 4.0의 "Compatibility with CMake < 3.5 has been removed", FindBoost 제거, Conan 2 연동, undefined reference, 공유 라이브러리 로딩 실패까지 실제 에러 메시지 기준으로 다룹니다.
-
CMake Error 자주 나는 10가지: find_package 실패·target not found·캐시 오염 해결
find_package가 패키지를 못 찾거나 target not found, 버전 부족, 경로 공백, 오염된 빌드 디렉토리 때문에 CMake가 멈출 때, 에러 메시지별로 원인을 가려내고 CMakeLists.txt를 어떻게 고치면 되는지 수정 코드로 보여줍니다.
-
CMake 3.28+ 프리셋과 모듈로 크로스 플랫폼 빌드 구성하기
팀원마다, 플랫폼마다 달라지는 C++ 빌드 설정을 CMake로 통일하는 방법입니다. 최소 CMakeLists.txt와 타겟 기반 설계, PUBLIC·PRIVATE·INTERFACE 전파, CMakePresets.json, find_package와 FetchContent, 3.28부터 지원되는 C++20 모듈 빌드를 다룹니다.
-
CMake find_package로 외부 라이브러리 연결하기: Config vs Module 모드와 커스텀 Find 모듈
CMake find_package로 외부 라이브러리를 통합하는 방법. 기본 사용법, 주요 라이브러리 예제, Config 모드와 Module 모드의 차이, 커스텀 FindModule 작성과 자주 생기는 오류를 정리합니다.
-
C++ CMake 고급 | 멀티 타겟·외부 라이브러리 관리 (대규모 프로젝트 빌드)
라이브러리를 추가할 때마다 빌드가 깨지는 대규모 프로젝트를 타겟 단위 CMake로 정리하는 방법을 다룹니다. PUBLIC·PRIVATE·INTERFACE 전파, Generator Expression, find_package와 FetchContent 선택, undefined reference 해결도 설명합니다.
-
C++ CMake 링크 에러 LNK2019 | 원인과 해결
컴파일은 되는데 링크에서 undefined reference나 LNK2019가 날 때 에러 메시지를 읽는 법부터 원인별 해결까지 다룹니다. 정의 누락, target_link_libraries 누락, 라이브러리를 못 찾는 경우, C 함수 호출 시 extern "C", 링크 순서와 중복 정의를 다룹니다.
-
C++ 패키지 관리 실무: vcpkg와 Conan으로 외부 라이브러리 의존성 지옥 탈출
헤더 하나 쓰려다 경로 설정에 막히는 의존성 문제를 vcpkg와 Conan으로 푸는 실무 방법을 다룹니다. vcpkg 오버레이 포트와 버전 제약, Conan 프로필·옵션·lockfile을 설명하고 CI, 멀티 플랫폼, 사내 저장소, Docker 환경에서 쓰는 패턴을 비교합니다.
-
C++ 프로젝트 CI 구성: GitHub Actions 멀티 OS·컴파일러 매트릭스, vcpkg 캐시, 테스트
로컬에선 되는데 CI에서만 실패하는 C++ 프로젝트를 위한 GitHub Actions 구성. 멀티 OS·컴파일러 매트릭스, CMake 빌드, vcpkg·Conan 캐시, 테스트 실행과 최적화 팁을 다룹니다.
-
CMake 입문: CMakeLists.txt로 C++ 프로젝트를 크로스플랫폼 빌드하기
g++ 명령을 손으로 치던 빌드를 CMakeLists.txt로 옮기는 과정을 Hello World부터 멀티파일 프로젝트까지 따라가며, Make와 Ninja 생성기 차이, Debug와 Release 빌드, find_package로 외부 라이브러리를 연결하는 방법을 복사해 쓸 수 있는 예제로 설명합니다.