我有一个项目可以生成一个在QtDesigner中使用的插件。我还在一个单独的项目中使用相同的窗口小部件类,因此我可以生成一个在应用程序端使用的库。基本上,我所做的是定义我的所有类:
#include <QtUiPlugin/QDesignerExportWidget>
class QDESIGNER_WIDGET_EXPORT QtMaterialWidget: public QWidget
{
Q_OBJECT
};
这些类在以任何方式从QWidget派生的类中实现,因此有不同的变体。
当我构建插件时,这很有用,并且没有问题。但是,在构建库时,我遇到了大量与C4273: 'QtMaterialWidget::qt_static_metacall': inconsistent dll linkage
相关的错误。我尝试将其从QDESIGNER_WIDGET_EXPORT
切换到Q_WIDGETS_EXPORT
而没有任何改进。
我是否必须以这些方式导出这些小部件?
有没有更好的方法来做到这一点。
以下是这两个项目:
图书馆计划&amp;码:
https://github.com/NickJohn547745/MaterialWidgetsLibrary
插件项目&amp;码:
https://github.com/NickJohn547745/MaterialWidgetsPlugin
小部件代码:
https://github.com/NickJohn547745/MaterialWidgets