기본 콘텐츠로 건너뛰기

글

라벨이 DX인 게시물 표시

PySide6 License 요약

✅ 요컨대: 상용 무료로 사용하려면 —onedir로 씁니다. 🔴  정적 링크 (Static Linking) 라이브러리 코드가 바이너리에 통합됨 (.exe 안에 다 들어감) 사용자 입장에선 라이브러리를 교체할 수 없음 LGPL 위반 소지 있음 → 상용 라이선스 필요 🟢  동적 링크 (Dynamic Linking) 라이브러리가 별도 .dll, .so, .dylib 파일로 따로 존재 사용자는 그 파일만 교체해서 다른 버전 사용 가능 LGPL 조건 충족 → 무료 사용 가능 💡 PyInstaller와 관련한 현실적 팁: PyInstaller 옵션 결과 LGPL 안전성 --onefile .exe 하나에 모든 걸 묶음 (DLL 포함됨) ❌ 위험 (정적처럼 보임) --onedir .exe + 여러 DLL 파일로 분리 ✅ 안전 (동적 링크 구조 유지) 📦 그래서 어떻게 해야 하냐? ✅ PySide6 LGPL로 안전하게 배포하려면: --onedir 옵션 사용 .dll 파일들을 외부에 두기 LICENSES 폴더에 LGPL v3 고지 포함 문서나 앱 내에 “사용자는 Qt 라이브러리를 교체할 수 있습니다” 명시

Windows에서 Column-by-Column 비디오 믹서 앱 개발환경 구축 가이드

Windows에서 Column-by-Column 비디오 믹서 앱 개발환경 구축 가이드 Windows 10 이상의 환경에서 Python과 C++를 함께 사용하여 컬럼 단위 비디오 믹서 애플리케이션을 개발하기 위해 필요한 환경 설정 과정을 단계별로 설명합니다. Python 3.10을 기반으로 GUI는 Tkinter로 구성하고, 성능을 위해 C++ 백엔드를 작성하여 Pybind11로 Python과 연동하며, 영상 처리에는 OpenCV 라이브러리를 활용합니다. 아래에서는 Python 패키지 설치부터 MinGW 컴파일러 설정, Pybind11/CMake 구성, OpenCV 설치, CMake 빌드 예시, .pyd 모듈 사용법, 그리고 예제 프로젝트 구조까지 차례로 자세히 다룹니다. 1. Python 패키지 설치 (pip로 설치) 먼저 Python 측 패키지를 설정합니다. pip 를 사용하여 필요한 패키지를 설치합니다: Pybind11 : C++ 코드를 Python에 바인딩하기 위한 헤더 라이브러리입니다. PyPI를 통해 설치할 수 있으며, 설치하면 Python 환경에 Pybind11 헤더와 CMake 설정 파일 등이 포함됩니다. 명령: pip install pybind11 . (Pybind11은 헤더-only 라이브러리로, C++ 컴파일 시에만 사용되고 실행 시간에는 추가 의존성이 없습니다.) OpenCV-Python (선택사항): Python 측에서 OpenCV를 사용하거나 빠른 테스트를 위해 설치할 수 있습니다. pip install opencv-python 또는 GUI 기능이 필요 없으면 pip install opencv-python-headless 로 설치합니다. 이 패키지는 OpenCV의 Python 바인딩을 제공하므로, C++에서 직접 OpenCV를 사용할 계획이라면 필수는 아니지만, 설치해 두면 Python으로 영상 파일을 불러오거나 결과를 확인하는 데 도움이 될 수 있습니다. NumPy (선택사항): Pybind11로 C++...