在qt 4.5中,是否可以在静态链接的插件中拥有资源?

时间:2009-07-30 15:11:55

标签: c++ qt qt4

我有一个具有嵌入资源的自定义QT插件模块。我想静态地将此插件与应用程序链接:

LIBS += -lstatic_plugin_with_resources

在应用程序中我使用Q_IMPORT_PLUGIN()宏,它允许应用程序使用插件;但是插件无法访问其嵌入式资源。

将插件用作共享库确实有效。

1 个答案:

答案 0 :(得分:3)

有可能。在应用程序中,您需要显式初始化静态插件中包含的资源。

这是通过调用 Q_INIT_RESOURCE(resource_base_name) 来完成的,其中resource_base_name是指定资源的.qrc文件的基本名称。这可能应该在main()或应用程序启动时调用。如果不再使用该插件,您可以选择致电 Q_CLEANUP_RESOURCE()

请参阅QT 4.5 resource doc的最后一部分。另请参阅Q_INIT_RESOURCE的文档。

这对我来说是QT 4.5的Linux版本。