25 Stimmen

Wird Qt Creator standardmäßig Bibliotheken statisch oder dynamisch verknüpfen?

Ich entwickle eine Closed-Source-Anwendung und um dies gemäß der LGPL zu tun, muss ich die Qt-Bibliotheken dynamisch mit meiner Anwendung verknüpfen. Macht Qt dies standardmäßig oder muss ich Schritte unternehmen, um dies zu tun? Wenn das der Fall ist, wie würde ich das machen?

29voto

SystematicFrank Punkte 15587

Qt verwendet standardmäßig die dynamische Verknüpfung.

Dies bemerken Sie sofort beim Bereitstellen auf einem Nicht-Entwicklerrechner, da Ihr Code ohne die Qt-Bibliotheken nicht funktioniert.

Wenn Ihre Bedenken bei der LGPL liegen, achten Sie einfach darauf, wenn Sie Qt selbst kompilieren. Die meisten Verletzungen der LGPL bei Qt erfolgen nicht aufgrund der statischen Verknüpfung (da dynamisch die Standardeinstellung ist), sondern durch das Kompilieren von Qt mit nicht standardmäßigen Parametern.

LGPL besagt nicht nur, dass die Bibliothek zusammen mit Ihren Binärdateien bereitgestellt werden muss, sondern auch, dass Sie angeben müssen, wie Ihre Benutzer den LGPL-Teil selbst erstellen können. Wenn Sie Qt selbst kompilieren und nicht die vorab kompilierten Binärdateien von der Website verwenden, müssen Sie diesen Teil Ihrer Build-Konfiguration in Ihrer Veröffentlichung dokumentieren!

Sobald Sie Ihr Programm zum Laufen gebracht haben, sollten Sie eine Release-Version für eine Umgebung ohne Qt-Installation für Nicht-Entwickler vorbereiten. Ihr Programm sollte sofort fehlschlagen, sobald Sie die DLLs löschen, die Sie zusammen mit Ihrem Programm kopieren müssen (oder welches Format Ihr Betriebssystem verwendet).

0 Stimmen

Ich konnte diese Informationen in der offiziellen Dokumentation nicht finden. Können Sie eine Quelle bereitstellen?

1voto

cmannett85 Punkte 21104

Es wird standardmäßig gemacht, die statische Verknüpfung scheint recht kompliziert zu sein, wenn man die vielen Fragen auf der Website dazu betrachtet.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X