[solved] benutzung von headern aus separaten programmen
-
Hi!
Ich hab seid einigen Tagen ein ziemlich nerviges Problem, durch google hab ich leider nichts gefunden was mir weiterhilft, also wende ich mich an euch.
Ich programmiere seid ca. nem halben jahr an kiba-dock (ein gnome basierter dock mit physik engine, real transparency und einigen nutzlosen effekten, natuerlich opensource).
Nun zu meinem problem: ich versuche ein pluginsystem zu integrieren. Ich bin schon soweit, dass ich libs fuer die jeweiligen plugins erstelle, die dann nach /usr/lib/kiba-dock installiert werden. Der maincode ruft keine der Pluginfunktionen mehr direkt auf, allerdings muss jeweis die init funktion der plugins aufgerufen werden, dies moechte ich mit dload("pluginlibrary"); erreichen, allerdings funktioniert das nie wie es soll, unter bestimmten umstaenden bekomme ich folgende errormessage beim starten des docks:failed to load /usr/local/lib/kiba-dock/plugins/liblauncher.so /usr/local/lib/kiba-dock/plugins/liblauncher.so: undefined symbol: add_spacer
die plugins nutzen jeweils funktionen aus dem maincode.
vorher hab ich einfach objecte fuer die quellcodedateien erstellt und dann zu einem binary zusammengelinkt.
die plugins includen also header des maincodes, ich weiz allerdings nicht ob das reicht um die funktionen auch aufzurufen, eigentlich muessen die plugins ja mit den dock objecten verlinkt werden oder so aehnlich. und ich glaub hier is das problem (aba sicher bin ich mir da auch nich), also was muss ich genau tun damit ich die funktionen der header meines mainprogramms in den plugins auch benutzen kann?hier ist ein link zum kompletten projekt, ich poste bei bedarf aba auch gern hier relevanten code: http://forum.beryl-project.org/download.php?id=275&f=38
EDID: sry hab schon hilfe bekommen, nach einigen stunden googlen war ich schon ziemlich verzweifelt, dabei hab ich nur ganz stunpf was uebersehen. naja eher peinlich, ich hab dlopen falsch benutzt
manchmal is man halt blind