ich habe hier einmal eine Frage in die Runde wie Ihr mit Shared Librarys umgeht.
Ich habe eine Hauptapplikation welche über Qt-Plugins mit verschiedenen Datenbanken funktionieren soll. Die verschiedenen Datenbankverbindungen werden wie angedeutet über Plugins gelöst. Da die einzelnen Plugins ihre Konfigurationsdaten selbstständig laden bzw. speichern habe ich die gesamten
Konfigurationsvariablen nebst load und save Funktion in eine shared Library ausgelagert welche von der Hauptapplikation bzw. von den Plugins dann geladen werden können.
Gibt es da nun eine 'best practice' wie diese 'Settings-Library' verwendet werden sollte?
Als Möglichkeit wären ja gegeben,
1. als hart verlinkte shread Libraray über die .pro Datei.
Code: Alles auswählen
LIBS += -L$$OUT_PWD/../build/ -ltpoSettings
2. als QPlugin jedesmal wenn die Settingsdaten gebraucht werden zu laden.
Code: Alles auswählen
QPluginLoader SettingsPlugin("tpoSettings");
SettingsInterface *settings = qobject_cast<SettingsInterface *>(SettingsPlugin.instance());
oder
3. mittels QLibrary zu laden und jede einzelne Methode per 'resolve' zugreifbar zu machen.
Auch hier wäre die Möglichkeit beim Fehlen der Library eine eindeutige Fehlermeldung zu generieren. Jedoch ist diese Art
des Handlings doch sehr aufwendig.
Wie macht Ihr das bei euch?
Wäre schön wenn Ihr dazu ein paar Meinungen schreiben könntet.
Grüße Netzschleicher