qt 4.5では、静的にリンクされたプラグインにリソースを含めることはできますか?

StackOverflow https://stackoverflow.com/questions/1207265

  •  05-07-2019
  •  | 
  •  

質問

リソースが埋め込まれたカスタム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 リソースドキュメントの最後のセクションを参照してください。 Q_INIT_RESOURCE のドキュメントも参照してください。

これはQT 4.5のLinuxバージョンで機能しました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top