Nevermind, got it to load the plugin... but, it installs plugins to /usr/plugin ... is that correct? would something like ~/.alkquotes/plugins be more appropriate? <br><br><div class="gmail_quote">On Sun, Jun 27, 2010 at 5:23 PM, Brian Cappello <span dir="ltr">&lt;<a href="mailto:briancappello@gmail.com">briancappello@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Ah, thanks, that worked. But now I have a new problem; the executable can&#39;t find the plugin?<br>
**** cmake *************<div class="im"><br>ADD_LIBRARY(testplugin SHARED ${backend_SRCs} ${backend_MOC_SRCs})<br><br></div><div class="im">ADD_EXECUTABLE( quotebackend ${backend_SRCs} ${backend_MOC_SRCs} )<br>
TARGET_LINK_LIBRARIES( quotebackend ${QT_LIBRARIES} )<br>INSTALL( TARGETS quotebackend ${INSTALL_TARGETS_DEFAULT_ARGS} DESTINATION bin )<br><br></div>TARGET_LINK_LIBRARIES( testplugin ${QT_LIBRARIES}  )<br><br>INSTALL( TARGETS testplugin ${INSTALL_TARGETS_DEFAULT_ARGS} LIBRARY DESTINATION plugins ) &lt;-- what would I change ${TARGET_ARGS} to?<br>

***** calling function ********<br>void StatsManager::loadPlugins()<br>{<br>  QDir pluginsDir( QCoreApplication::applicationDirPath() );<br>  qDebug() &lt;&lt; &quot;plugin path=&quot; + pluginsDir.path();<br>  if( !pluginsDir.cd(&quot;plugins&quot;) )<br>

  {<br>    qDebug() &lt;&lt; &quot;couldn&#39;t find plugin dir&quot;;<br>    return;<br>  }<br>  <br>  foreach( QString filename, pluginsDir.entryList(QDir::Files) )<br>  {<br>    QPluginLoader loader( pluginsDir.absoluteFilePath(filename) );<br>

    if( KeysInterface *interface = qobject_cast&lt;KeysInterface *&gt;(loader.instance()) )<br>    {<br>      interfaces.append(interface);<br>      qDebug() &lt;&lt; &quot;successfully loaded test plugin&quot;;<br>    }<br>

  } <br>}<br>**** runtime error ********<br>&quot;couldn&#39;t find plugin dir&quot;<br><br>And indeed, it doesn&#39;t exist. Where should the plugin get installed to / how do I tell cmake to install there / how do I tell the executable to look there?<br>

<br><div class="gmail_quote"><div><div></div><div class="h5">On Sun, Jun 27, 2010 at 5:03 PM, Fernando Vilas <span dir="ltr">&lt;<a href="mailto:fvilas@iname.com" target="_blank">fvilas@iname.com</a>&gt;</span> wrote:<br>
</div></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div><div></div><div class="h5">
<div>On Sunday, June 27, 2010 15:44:04 Brian Cappello wrote:<br>
&gt; Hi everybody,<br>
&gt; I&#39;ve been trying to get plugins working, but to no avail. To start small<br>
&gt; extremely small, here&#39;s a simple plugin I&#39;m trying to make. I keep getting<br>
&gt; linker errors, I was hoping maybe somebody could pick up on something I&#39;m<br>
&gt; missing? Below are the files and the error I&#39;m getting.<br>
</div>[...]<br>
&gt;<br>
&gt;     virtual ~KeysInterface();<br>
[...]<br>
&gt;     virtual ~TestPlugin() {}<br>
&gt;<br>
[...]<br>
<div>&gt; ***** error **************<br>
&gt; Linking CXX executable quotebackend<br>
&gt; CMakeFiles/quotebackend.dir/moc_testplugin.cxx.o: In function<br>
&gt; `~TestPlugin&#39;:<br>
&gt;<br>
&gt; /home/brian/quotebackend/build/backend/../../backend/testplugin.h:19:<br>
&gt; undefined reference to `KeysInterface::~KeysInterface()&#39;<br>
&gt; /home/brian/quotebackend/build/backend/../../backend/testplugin.h:19:<br>
&gt; undefined reference to `KeysInterface::~KeysInterface()&#39;<br>
&gt;<br>
<br>
</div>It&#39;s looking for the KeysInterface dtor body. You don&#39;t have one, so the<br>
linker never finds it. Look at the dtor for TestPlugin above.<br>
<font color="#888888"><br>
--<br>
Thanks,<br>
Fernando Vilas<br>
<a href="mailto:fvilas@iname.com" target="_blank">fvilas@iname.com</a><br>
</font><br></div></div>_______________________________________________<br>
Kde-finance-apps mailing list<br>
<a href="mailto:Kde-finance-apps@kde.org" target="_blank">Kde-finance-apps@kde.org</a><br>
<a href="https://mail.kde.org/mailman/listinfo/kde-finance-apps" target="_blank">https://mail.kde.org/mailman/listinfo/kde-finance-apps</a><br>
<br></blockquote></div><br>
</blockquote></div><br>