Seite 1 von 1

C++ Statische Klassenelemente in einer lib

Verfasst: 24. Juli 2006 17:32
von Esleborn
hi,
ich hab jetzt mal ein ... komisches C++ Problem...
Ich habe eine Bibilothek geschrieben, die aus einer Loader- und beliebig vielen API-Verwaltungs-Klassen besteht. Der Loader verwaltet diese API-Klassen, so dass über den Loader neue Elemente der API Verwaltungs Klassen erstellt werden können und ausgelesen werden kann, auf welche dieser APIs überhaupt zugegriffen werden kann, etc.

Jetzt muss die Loader-Klasse ohne direkt Aufruf einer Funktion (d.h. vor start der Main) über die existenz aller API-Verwaltungs-Klassen Bescheit wissen, dies bedeutet, dass jede Klasse ein statisches Element besitzt, bei dessen Deklaration (die id der API) eine statische Funktion der LoaderKlasse aufgerufen wird, mit der sich die API "einträgt".
Soweit so gut, so tuend. Das Problem kommt jetzt, wenn ich das ganze in eine Bibilothek verschiebe, dann werden die statischen Variablen (ids) der API-Verwaltungs-Klassen nicht mehr deklariert... kann mir das einer erklären?

Elgrimm Esleborn

P.S.: Wozu das Ganze? Die hier verwalteten APIs sind Brenner-APIs, die je nach System zu Verfügung stehen oder nicht. Um die Verwendung der Gesamtstruktur möglichst einfach zu halten existiert die Loader Klasse durch die ein Bibilotheks-Anwender (Programmierer) abfragen kann, welche APIs existieren (programmiert sind), welche verfügbar sind (auf dem aktuellen System), etc. Außerdem kann er einfach eine "beliebige" API verangen, so dass er einfachst Dateien brennen kann, so dass "Anwender" der Bibilothek (Programmierer) sich nicht mit den unterschiedlichen Brenner-APIs - nicht mal mit deren Anzahl oä - rumschlagen müssen.

P.P.S.: Nachdem google leicht auf diese Suche verweißt, wenn man nach brennen und qt sucht, poste ich hier mal
meine bisherige Arbeit, die aufphoenixes.dezu finden ist

Verfasst: 24. Juli 2006 17:56
von Esleborn
mmh vllt könnte mir einer das QtPlugin System verständlich erklären?