이 페이지에서

플러그인 배포

이 항목에서는 실행 시점에 Qt 또는 애플리케이션이 로드할 수 있도록 플러그인 라이브러리를 배포하는 방법을 설명합니다. 정적 플러그인을 사용하는 경우, 플러그인 코드는 이미 애플리케이션 실행 파일에 포함되어 있으므로 별도의 배포 단계가 필요하지 않습니다.

플러그인 디렉터리

Qt에서 애플리케이션이 시작될 때, 애플리케이션의 실행 파일 디렉터리가 Qt가 플러그인을 검색하는 기본 디렉터리가 됩니다.

예를 들어, Windows에서 애플리케이션이 C:\Program Files\MyApp 에 있고 스타일 플러그인이 있는 경우, Qt는 C:\Program Files\MyApp\styles 를 검색합니다.

애플리케이션 실행 파일이 어디에 있는지 확인하려면 QCoreApplication::applicationDirPath()을 참조하십시오.

Qt는 또한 QLibraryInfo::path(QLibraryInfo::PluginsPath)에 지정된 디렉터리도 검색하는데, 이 디렉터리는 일반적으로 QTDIR/plugins 에 위치합니다. QTDIR 은 Qt가 설치된 디렉터리입니다. Qt가 추가 위치도 검색하도록 하려면 QCoreApplication::addLibraryPath() 호출을 통해 필요한 만큼 경로를 추가할 수 있습니다. 사용자 정의 경로를 설정하려면 QCoreApplication::setLibraryPaths()을 사용할 수 있습니다.

또는 qt.conf 파일을 사용하여 Qt 라이브러리에 컴파일된 고정 경로를 재정의할 수도 있습니다. 자세한 내용은 qt.conf 사용을 참조하십시오.

또 다른 방법은 애플리케이션을 실행하기 전에 QT_PLUGIN_PATH 환경 변수를 설정하는 것입니다. 여러 경로는 시스템 경로 구분 기호로 구분할 수 있습니다. 이 변수가 설정되면 Qt는 해당 변수에 지정된 경로에서 플러그인을 찾습니다.

참고: QT_PLUGIN_PATH 을 시스템 전체 환경 변수로 내보내지마십시오 . 다른 Qt 설치와 충돌할 수 있습니다.

플러그인의 동적 로딩 및 검증

플러그인을 로드할 때, Qt 라이브러리는 플러그인을 로드하고 사용할 수 있는지 확인하기 위해 일련의 타당성 검사를 수행합니다. 이 타당성 검사 덕분에 여러 버전의 Qt와 구성을 동시에 설치하여 사용할 수 있습니다.

다음 규칙이 적용됩니다:

  • 부 버전 번호가 더 높은 Qt 라이브러리에 링크된 플러그인은 부 버전 번호가 더 낮은 라이브러리에서는 로드되지 않습니다.


    예: Qt 6.2.0은 Qt 6.3.0으로 빌드된 플러그인을 로드하지 않습니다. 예: Qt 6.2.0은 Qt 6.1.0으로 빌드된 플러그인을 로드합니다. 예: Qt 6.2.0은 Qt 6.2.1로 빌드된 플러그인을 로드합니다.

  • 메이저 버전 번호가 더 낮은 Qt 라이브러리와 연결된 플러그인은, 메이저 버전 번호가 더 높은 라이브러리에서는 로드되지 않습니다.


    예: Qt 6.0.0은 Qt 5.15.0으로 빌드된 플러그인을 로드하지 않습니다.

애플리케이션을 확장하기 위해 플러그인을 빌드할 때는 플러그인이 애플리케이션과 동일한 방식으로 구성되었는지 확인하는 것이 중요합니다. 즉, 애플리케이션이 릴리스 모드로 빌드된 경우 플러그인도 릴리스 모드로 빌드되어야 합니다. 단, Unix 운영 체제의 경우, 플러그인 시스템은 애플리케이션과 다른 모드로 빌드된 플러그인을 로드하지 않습니다.

플러그인 디버깅

올바르게 작성된 플러그인이라도 이를 사용하도록 설계된 애플리케이션에서 제대로 작동하지 못하게 하는 여러 가지 문제가 있을 수 있습니다. 이러한 문제의 상당수는 플러그인과 애플리케이션의 빌드 방식 차이에서 비롯되며, 이는 종종 서로 다른 빌드 시스템과 프로세스에서 기인합니다.

Qt가 로드하려고 시도하는 각 플러그인에 대한 진단 정보를 얻으려면 ` QT_DEBUG_PLUGINS ` 환경 변수를 사용하십시오. 애플리케이션을 실행하는 환경에서 이 변수를 0이 아닌 값으로 설정하십시오.

다음 표는 개발자가 플러그인을 제작할 때 겪는 문제의 일반적인 원인과 가능한 해결책을 설명합니다.

문제원인해결 방법
애플리케이션에서 직접 열어도 플러그인이 아무런 오류 메시지 없이 로드되지 않습니다. ` Qt Widgets Designer `의 ‘ Help|About Plugins ’ 대화 상자에 플러그인 라이브러리가 표시되지만, 각 라이브러리 아래에는 플러그인이 나열되지 않습니다.애플리케이션과 플러그인이 서로 다른 모드로 빌드되었습니다.실행 파일과 동일한 구성으로 플러그인을 빌드하십시오.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.