构建基于QtPlugin的DLL时应注意的事项

连示例代码都编译不过去的教程最差劲了!用Qt重构底层打印引擎时,想做成基于QtPlugin的插件,本来想偷懒不看英文,网上找了点中文教程看看,结果照着示例写一堆错啊,最后还是回头去看英文,时间一点没省……

  1. 接口务必注意是纯虚函数,在函数声明后要加“= 0”
  2. 在实现类中要#include <QtPlugin>,网上的教程是垃圾,不包含这个害我莫名的vtable错误调试半天。
  3. Q_EXPORT_PLUGIN2的第2个参数对应具体实现的插件类名字,不能随意起。同样的道理,Q_DECLARE_INTERFACE的第1个参数对应抽象接口类的名字,也不能随意起。
    主要也就是这3条,MARK给自己看,同时也给其他写QtPlugin的桶子参考。