QT 4.5에서 정적으로 연결된 플러그인에 리소스가있을 수 있습니까?
문제
리소스가 포함 된 사용자 정의 QT 플러그인 모듈이 있습니다. 이 플러그인을 응용 프로그램과 정적으로 링크하고 싶습니다.
LIBS += -lstatic_plugin_with_resources
응용 프로그램에서 나는 사용 중입니다 Q_IMPORT_PLUGIN()
애플리케이션이 플러그인을 사용할 수있는 매크로; 그러나 플러그인은 내장 리소스에 액세스 할 수 없습니다.
플러그인을 공유 라이브러리로 사용하면 작동합니다.
해결책
것이 가능하다. 응용 프로그램에서 정적 플러그인에 포함 된 리소스를 명시 적으로 초기화해야합니다.
이것은 전화를 통해 달성됩니다 Q_INIT_RESOURCE(resource_base_name)
, 어디 resource_base_name
리소스를 지정하는 .qrc 파일의 기본 이름입니다. 이것은 아마도 main () 또는 응용 프로그램 시작에서 호출되어야합니다. 선택적으로 전화 할 수 있습니다 Q_CLEANUP_RESOURCE()
플러그인이 더 이상 사용되지 않는 경우
QT 4.5의 마지막 섹션을 참조하십시오 리소스 DOC. 또한 문서를 참조하십시오 Q_INIT_RESOURCE
.
이것은 QT 4.5의 Linux 버전에서 저에게 효과가있었습니다.
제휴하지 않습니다 StackOverflow