Aus Shared Objects (Linux) Funktionen im Hauptprogramm aufrufen
-
Hi,
Ich habe ein Programm welches mehrere shared Objects (*.so) dynamisch über dlopen zur Laufzeit je nach Konfiguration lädt.
In den shared Objects benutze ich Methoden von Klasseninstanzen des Hauptprogramms.
Leider kann ich das Programm so nicht linken, bekomme diesen Fehler:
undefined symbol: _ZN13ServiceBroker16getServiceEiDie zwei Lösungsmöglichkeiten die ich kenne scheinen mir nicht optimal.
1. Die benutzten Funktionen im Header zu definieren ist irgendwie unsauber
2. Ein shared Object (wie hier) extra für die paar Funktionen (weniger als 20) scheint mir übertrieben.Gibt es Alternativen?
Danke,
Juri
-
Sieht auf den ersten blick aus, wie nen problem beim name mergling mit den Klassen / Methodennamen.
.so und das bin haben den selben compiler und die selben compilerflags (ausser die die beim so bedingt anders sein muessen) ?
Ciao ...