如何为Qt应用程序创建扩展

时间:2013-10-05 18:50:51

标签: c++ qt qtgui

有这个指南:http://qt-project.org/doc/qt-4.8/plugins-howto.html

它完全没用,因为它缺少太多关键信息。然而,经过几个小时的研究,我发现了如何到达某个地方:

界面的源代码.h:https://github.com/huggle/huggle3-qt-lx/blob/master/huggle/iextension.h

插件的.h:https://github.com/huggle/extensions/blob/master/c%2B%2B/HelloWorld/HelloWorld/helloworld.h

我设法为插件创建了一个界面并将宏应用到它,然后我创建了一个插件,但是例如插件应该从接口继承,我显然需要以某种方式包含我项目中的.h文件。我这样做了,然后我使用QPluginLoader来加载.so文件。

但是我得到了这个:

Failed to load (reason: Cannot load library /home/petanb/Documents/huggle3-qt-lx/huggle/extensions/libHelloWorld.so: (/home/petanb/Documents/huggle3-qt-lx/huggle/extensions/libHelloWorld.so: undefined symbol: _ZTIN6Huggle10iExtensionE))

这是有道理的,库(我在#include我的项目的.h文件中)显然缺少对我的应用程序的二进制的引用以解决它,但我怎么能给它呢?我应该复制应用程序的二进制文件,将其重命名为something.so并将其放到/ lib或其他东西?或者我该怎么办?

0 个答案:

没有答案