解决方法
AFAIK Qt插件实现为共享库(Unix /
Linux上为.so,Windows上为DLL).它们之间的差异与一般的插件和库相同.
这意味着插件架构独立于链接方法.
它们往往被认为是插件/动态链接和非插件/静态链接.
一个核心应用程序指定了一个接口和数据交换契约(即一个API),通过该接口和数据交换契约,单独的模块可以通过该应用程序与应用程序进行交互,并通过只需在DLL中发布新模块就不需要一种方法来发现这些DLL,并且知道如何执行这些逻辑.这是插件架构的本质.一般来说,DLL只暴露一个程序或函数的列表. dll中的变量,类,对象不能直接访问外部进程.编写一个插件涉及将大部分或全部相关代码移动到DLL中,其中所有变量和对象都可以直接引用.
像Eclipse一样,您将插件放在预定义的目录中,并且在下一次单击某些菜单时,您会看到新的条目.所有这一切,无需重新启动您的应用程序或运行新版本的exe.