2009-03-05 6 views
5

Ich versuche, ein Distributionsverzeichnis mit meiner Anwendung zu machen. Ich habe mehrere Qt-DLLs in dieses Verzeichnis kopiert, und das Programm scheint zu funktionieren, mit einer Ausnahme: es scheint kein SQL-Plugin für SQLite zu finden. Durch das Kopieren von qtsqlite.dll in das Verzeichnis kann meine Anwendung keine SQLite-Dateien öffnen oder erstellen. Was muss die Struktur des Directories sein oder welche zusätzlichen Dateien müssen kopiert werden, damit das Programm die Datenbank lesen kann?Welche Qt-DLLs sollte ich kopieren, um mein Programm eigenständig zu machen?

Antwort

4

können Sie depends.exe verwenden, um genau zu sehen, was die Abhängigkeiten Ihrer Exe sind und sicherstellen, dass sie alle enthalten sind.

Lesen Sie auch this page über qt-Plugins. Sie sollten in einem bestimmten Verzeichnis namens "plugins" sein und nicht im Hauptverzeichnis mit allen anderen dlls.

+0

Standardmäßig verwendet die Anwendung ihr Startverzeichnis als Plugins-Verzeichnis; Sie müssen die Treiber in einen Basisklassenverzeichnisnamen eingeben: z. B. app_dir/sqlrivers. – dwj

2

Höchstwahrscheinlich hängt die qtsqlite.dll selbst von ursprünglichen SQLite-DLLs ab, die Sie wahrscheinlich ebenfalls kopieren müssen.

Vergessen Sie nicht, eine LGP-Lizenzkopie in Ihre Distribution aufzunehmen sowie Verweise auf die Original-Download-Ressourcen der von Ihnen eingeschlossenen Bibliotheken und deren Quellen. Um mit dem Gesetz zu bleiben :-)

2

Dank des Links @shoosh zur Verfügung gestellt, konnte ich das Problem beheben. Ich musste das Unterverzeichnis sqldivers im Distributionsverzeichnis mit der qsqlite.dll-Bibliothek erstellen. Aber das war nur der erste Schritt. Haben Sie Tipps und Ressourcen zum Erstellen eines vollständigen Windows-Installationsprogramms? Ich bin hauptsächlich ein Linux-Programmierer, daher ist mir dieser Bereich unbekannt.

+0

Vielleicht NSIS ist ein guter Ausgangspunkt für Sie: http://nsis.sourceforge.net/ Es ist Open Source und skriptfähig. Gut für Linux Programmierer :-D – ypnos