태그: Conan
9편
-
Conan 기초: conanfile로 의존성 선언, 프로필, Remote, CMake 연동
C++ Conan 패키지 매니저 기초. fmt 같은 라이브러리를 수동으로 받아 빌드하던 불편에서 출발해 설치, conanfile.txt·conanfile.py 작성, 프로필과 Remote 설정, CMake 연동을 예제로 설명합니다.
-
C++ 의존성 관리 비교: vcpkg vs Conan vs 시스템 패키지, 버전 충돌과 CMake 통합
라이브러리 하나 추가에 하루가 걸리는 의존성 문제를 vcpkg, Conan, 시스템 패키지로 각각 풀어봅니다. vcpkg baseline 고정, Conan 2.x lockfile과 CMake 연동, pkg-config와 Docker 환경 구성, 버전 충돌 해결을 예제로 설명합니다.
-
C++ 빌드 시스템 비교: CMake·Meson·Bazel·Makefile과 패키지 매니저 선택
새 C++ 프로젝트에서 CMake, Meson, Bazel, Makefile 중 무엇을 고를지 빌드 속도·재현성·크로스 컴파일 관점에서 비교합니다. vcpkg와 Conan 중 어떤 패키지 매니저를 조합할지도 사용 사례별로 정리했습니다.
-
Conan 2.x 심화: lockfile로 의존성 고정, 크로스 컴파일, 사내 Artifactory 연동
C++ Conan 2.x 고급 활용. lockfile로 의존성 그래프를 고정하는 방법, 옵션·override가 있는 conanfile.py, host/build 두 프로필로 하는 크로스 컴파일, 사내 Artifactory 업로드와 바이너리 재사용을 다룹니다.
-
Conan 2.x 패키지 레시피 작성: conanfile.py, CMakeDeps·CMakeToolchain, test_package, 업로드
C++ Conan 2.x 패키지 레시피 작성법. conanfile.py 구조, CMakeDeps·CMakeToolchain, 헤더 전용 라이브러리 레시피, test_package 검증, conan create·upload와 Artifactory·GitHub Packages 연동을 다룹니다.
-
CMake 'Could NOT find' 에러
CMake find_package가 Could NOT find 오류를 내는 원인을 라이브러리 미설치, 버전 불일치, Config 파일 부재, 패키지 이름 대소문자, 컴포넌트 누락으로 나눠 설명하고, CMAKE_PREFIX_PATH 설정과 vcpkg·Conan 연동을 다룹니다.
-
C++ 패키지 매니저 vcpkg와 Conan 비교: manifest·트리플렛·프로파일과 CMake 연동
라이브러리를 손으로 설치하느라 시간을 쓰거나 CI에서만 빌드가 깨지는 문제를 vcpkg와 Conan으로 푸는 방법을 비교합니다. vcpkg의 manifest 모드·트리플렛·버전 고정과 Conan의 conanfile·프로파일 설정을 CMake 연동 예제로 보여주고, 프로젝트에 맞는 선택 기준을 제시합니다.
-
C++ Sanitizer 동작 원리와 설정: ASan·UBSan·TSan·MSan 오버헤드, CMake 통합
use-after-free를 잡는 ASan, 데이터 레이스를 잡는 TSan, 미정의 동작을 잡는 UBSan, 초기화 안 된 메모리를 잡는 MSan이 각각 어떻게 동작하고 얼마나 느려지는지, ASan·TSan을 함께 못 쓰는 이유와 CMake 프리셋·CI job 분리 방법을 설명합니다.
-
C++ 패키지 관리 실무: vcpkg와 Conan으로 외부 라이브러리 의존성 지옥 탈출
헤더 하나 쓰려다 경로 설정에 막히는 의존성 문제를 vcpkg와 Conan으로 푸는 실무 방법을 다룹니다. vcpkg 오버레이 포트와 버전 제약, Conan 프로필·옵션·lockfile을 설명하고 CI, 멀티 플랫폼, 사내 저장소, Docker 환경에서 쓰는 패턴을 비교합니다.