Seite 1 von 1

Shared Library - Export/Import Symbole

Verfasst: 4. Juni 2012 10:20
von jumpfunky
Hallo zusammen,

ich entwickle eine Anwendung, die durch Plugins in Form von Shared Librarys erweitert werden kann. Als ich damals damit begonnen habe, hatte ich Probleme damit, das einige Methoden nicht gefunden werden konnten. Daraufhin habe ich diese Anleitung http://qt-project.org/doc/qt-4.8/sharedlibrary.html befolgt und alles funktionierte.

Bisher habe ich dieses Makro in jeder Klassendefinition innerhalb eines Plugins verwendet. Eigentlich sollte das ja nicht notwendig sein, sondern nur in den Klassen, wo tatsächlich Qt eingesetzt wird. Wie auch immer: Ich habe nun einfach alle Makros entfernt und wollte Sie nacheinander wieder hinzufügen, um zu sehen, welche Klassen nun tatsächlich das Marko benötigen. Nun läuft das Plugin aber überraschender Weise ohne irgend ein Marko. Daher meine Frage:

Benötigt man diese Makros noch? Ist die obige Seite evtl. nicht aktuell?

Viele Grüße
Thorsten

Edit: Vielleicht ist es noch wichtig, welchen Compiler ich nutze: GCC 4.6

Re: Shared Library - Export/Import Symbole

Verfasst: 4. Juni 2012 18:22
von Christian81
Ein Plugin benötigt keine Exports bzw. genauer - beim Plugin muss nur die Einsprungfunktion exportiert werden. Die Doku geht ja auch über Shared Libraries und nicht Plugins!.
Und unter Linux ist die default Visibility sowieso 'visible' - d.h. alle Symbole sind auch extern sichtbar. Und mit Qt-Klassen hat das auch nichts zu tun...

Re: Shared Library - Export/Import Symbole

Verfasst: 4. Juni 2012 22:00
von jumpfunky
Hallo Christian,
vielen Dank schonmal für deine Antwort.

Ich benutze keine Plugins im Sinne von:
http://qt-project.org/doc/qt-4.8/plugins-howto.html

Kurz zur Architektur:
Ich erstelle Shared-Librarys die unter anderem einen QT-Dialog beinhalten, die aus der Shared-Library heraus gestartet werden. Die Library bietet eine Extern-C-Methode an, die ich als Einstiegspunkt verwende.

Ich benötige dennoch kein Symbol Import/Export?

Grüße
Thorsten

Re: Shared Library - Export/Import Symbole

Verfasst: 5. Juni 2012 06:36
von Christian81
Also ein Plugin - Du hat eine Methode die Du per extern exportierst, also nach außen hin sichtbar ist.

Re: Shared Library - Export/Import Symbole

Verfasst: 5. Juni 2012 17:19
von jumpfunky
Gut, dann kann ich die Makros wohl entfernen.

Danke!

Gruß
Thorsten