Search

260729_2152_오픈 소스 c++라이브러리 목록

출처

C++ 개발자가 "이 기능, 누가 이미 만들었지?"로 구글링하는 시간을 줄이려고
분야별 오픈 소스 라이브러리를 모아 둔 cppreference 링크 목록입니다.
조건은 거의 하나: 소스 형태로 받을 수 있을 것
품질·최신성·라이선스를 보장하지 않음 ("as is")
GeekNews 댓글 요지: 한국어판은 업데이트가 오래됨 → 실무에선 영문 원문을 보는 편이 낫다

원인 파악을 해봅시다 :)

C++ 생태계는 "표준 라이브러리 + 언어"만으로 끝나는 언어가 아닙니다.
표준 라이브러리 = 기초 실제 제품 = Boost / Qt / Eigen / protobuf / ...
Plain Text
복사
문제는 선택지가 너무 많다는 점입니다.
네트워크만 해도 Asio, POCO, ZeroMQ, Thrift, REST SDK…
JSON만 해도 RapidJSON, jsoncpp, nlohmann/json…
그래서 "카탈로그"가 검색 엔진보다 빠른 경우가 있습니다.

여기서 우리가 꼭 알아가야할 핵심 개념!!: 분야별로 고르기

목록이 긴 이유를 한 줄로 말하면:
C++는 한 프레임워크가 전부를 덮는 문화보다,
문제 영역별로 라이브러리를 조합하는 문화에 가깝다.
대략 이런 지도로 보면 됩니다:
영역
대표 이름
언제 찾나
범용
Boost, Folly, Dlib, JUCE
"표준에 없는 기본기"
통신
Boost.Asio, POCO, ZeroMQ, Thrift
네트워크·RPC·메시징
GUI
Qt, GTKmm, wxWidgets, FLTK
데스크톱 UI
멀티미디어/게임
SDL, SFML, OpenFrameworks
창·입력·오디오
그래픽
OpenGL/GLFW/GLM, bgfx, Assimp
렌더링·모델
수학/ML
Eigen, Armadillo, MLPACK, Dlib
선형대수·학습
병렬/가속
TBB, OpenMP, CUDA/OpenCL 계열
고성능 연산
직렬화
protobuf, cereal, RapidJSON
와이어/파일 포맷
DB
SOCI, ODB, sqlpp11, mysql++
ORM·쿼리
테스트/로그/암호
Google Test, Catch, spdlog, OpenSSL
개발·운영 인프라
한 줄: 목록의 가치는 "추천 순위"가 아니라 검색 공간 축소입니다.

자주 하는 실수들입니다! (라이브러리 고르기)

실수 1. 한국어판만 보고 "최신 목록"이라고 착각한다

댓글에도 나오듯, 한국판은 마지막 업데이트가 오래됐을 수 있습니다.
링크 깨짐·누락·옛 프로젝트가 섞여 있을 수 있으니 영문 페이지 + 실제 repo 상태를 확인하세요.

실수 2. "유명하니 일단 Boost/Qt"로 끝낸다

맞는 경우도 많지만, 헤더온리 한 줄 JSON이면 nlohmann/json으로 충분한 경우도 있습니다.
의존성 크기·빌드 시간·라이선스가 제품 제약이 됩니다.

실수 3. 라이선스를 나중에 본다

GPL(JUCE 등)과 Boost/Apache/MIT는 배포 전략이 다릅니다.
카탈로그에 있다고 = 상업 제품에 그냥 넣어도 된다는 뜻이 아닙니다.

실수 4. "목록에 있으니 품질도 OK"

원문이 스스로 말합니다: 오래됐을 수 있고, 잘못된 링크로 갈 수 있다.
스타 수, 최근 커밋, CI, 이슈 응답을 직접 봐야 합니다.

실무로 옮기면 (체크리스트)

새 C++ 기능이 필요할 때:
1. 표준 라이브러리로 충분한가? 2. 이미 프로젝트에 있는 의존성으로 되는가? (Boost가 이미 있다면…) 3. 카탈로그에서 후보 2~3개만 추린다 4. 라이선스 / C++ 표준 버전 / 플랫폼 / 헤더온리 여부를 본다 5. 작은 spike(프로토타입)로 빌드·성능·DX를 확인한다
Plain Text
복사

정리해봅시다!

1.
이 페이지는 튜토리얼이 아니라 지도다. 빠른 후보 탐색용.
2.
C++는 영역별 라이브러리 조합이 기본이라, 카탈로그가 특히 쓸모 있다.
3.
한국어판보다 영문 원문을 우선하고, 링크·활성도를 직접 검증한다.
4.
고를 때는 유명도보다 라이선스·의존성 크기·빌드·유지보수를 본다.
5.
"목록에 있다" ≠ "프로덕션에 넣어도 된다". as-is 문서를 as-is로 쓰자.

이상!