Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.net  
   

Die mobilen Seiten von c++.net:
https://m.c-plusplus.net

  
C++ Forum :: Andere GUIs - Qt, GTK+, wxWidgets ::  Qt DataBase in einem DLL kapseln     Zeige alle Beiträge auf einer Seite Auf Beitrag antworten
Autor Nachricht
DortmunderGast
Unregistrierter




Beitrag DortmunderGast Unregistrierter 08:48:31 04.10.2016   Titel:   Qt DataBase in einem DLL kapseln            Zitieren

Hallo Zusammen,

ich habe eine Application in dem ich einen Qt Database benutze.
Diese Application ist in mehrere DLL aufgeplittet davon die Qt Database (wo es dort Messdaten in die database geschrieben werden)

Die Qt Database wird in einem DLL gekapselt.
Meine Fragen gezielt auf die Qt Database (DLL mit Qt Database "QODBC"): Worauf bei einen Qt Database soll ich achten?
Soll ich für die Qt Database (das DLL wo die qt Database sich befinden) auch einen .pro Datei erstellen?

danke in voaus
DortmunderGast
Unregistrierter




Beitrag DortmunderGast Unregistrierter 14:10:13 04.10.2016   Titel:   Qt DataBase in einem DLL kapseln            Zitieren

Hallo,

vielleicht besser gefragt:
Soll ich für diesem DLL einen.pro File erstellen?
Mechanics
Mitglied

Benutzerprofil
Anmeldungsdatum: 27.01.2012
Beiträge: 3987
Beitrag Mechanics Mitglied 20:10:22 04.10.2016   Titel:              Zitieren

Ich versteh nicht, was du willst.
Wenn du die LGPL Variante nutzt, darfst du nicht statisch gegen Qt linken sondern nur dynamisch. Dann musst du Qt Dlls verwenden. Da sollte es eine QtSql.dll geben oder so. Die Datenbanktreiber kann man zusätzlich als Plugins bauen, da könnte dann nochmal eine QtOdbc.dll rausfallen. Oder du linkst sie statisch in die QtSql.dll rein, machen wir so. Musst aber keien pro Dateien schreiben, gibts in der Qt schon alles.
picaschaf
Mitglied

Benutzerprofil
Anmeldungsdatum: 30.12.2010
Beiträge: 24
Beitrag picaschaf Mitglied 03:02:29 20.10.2016   Titel:              Zitieren

Mechanics schrieb:
Ich versteh nicht, was du willst.
Wenn du die LGPL Variante nutzt, darfst du nicht statisch gegen Qt linken sondern nur dynamisch. Dann musst du Qt Dlls verwenden. Da sollte es eine QtSql.dll geben oder so. Die Datenbanktreiber kann man zusätzlich als Plugins bauen, da könnte dann nochmal eine QtOdbc.dll rausfallen. Oder du linkst sie statisch in die QtSql.dll rein, machen wir so. Musst aber keien pro Dateien schreiben, gibts in der Qt schon alles.


So ein Quatsch. Er darf sehr wohl statisch linken wenn er die L-GPL Variante nutzt solange er seine Verpflichtungen einhält, sprich Linkerscripts und Objectfiles funktionierend mitliefert. Nur statisch zu linken macht überhaupt keinen Sinn, das ist ein anderes Thema.

Ich verstehe vielmehr die eigentliche Frage des TE nicht. Wenn du eine DLL willst brauchst du dafür natürlich ein eigenes pro File. Du kannst soch nicht aus einem Projekt zwei Outputs generieren.

_________________
www.bitshift-dynamics.com
partsoft
Mitglied

Benutzerprofil
Anmeldungsdatum: 27.04.2016
Beiträge: 20
Beitrag partsoft Mitglied 00:39:53 07.01.2017   Titel:              Zitieren

@picaschaf

Hör endlich auf diesen Mist zu verbreiten, mit LGPL darfst du nicht statisch linken! Oder lass dich einfach mal hier aufklären: +49 30 63923257

@DortmunderGast

Um welche Datenbank geht es hier?

_________________
https://www.partsoft.de
Softwareentwicklung und Vertrieb
picaschaf
Mitglied

Benutzerprofil
Anmeldungsdatum: 30.12.2010
Beiträge: 24
Beitrag picaschaf Mitglied 09:19:23 07.01.2017   Titel:              Zitieren

partsoft schrieb:
@picaschaf

Hör endlich auf diesen Mist zu verbreiten, mit LGPL darfst du nicht statisch linken! Oder lass dich einfach mal hier aufklären: +49 30 63923257

@DortmunderGast

Um welche Datenbank geht es hier?


Den Mist solltest du lieber nicht weiter verbreiten - lesen lernen wäre aber auch mal ein Anfang.

Zitat Wikipedia: "Oder es kann durch statisches Linken geschehen – dann bekommt ein Endnutzer typischerweise die Objektdateien (oder Quelltext) des proprietären Codes und die Sourcen des LGPL-Codes und kann diese zusammenlinken."
https://de.wikipedia.org/ ....... er_General_Public_License

Und falls dir das nicht genug ist kann ich dir noch den GPL/L-GPL Lizenztext empfehlen: http://www.gnu.org/licenses/lgpl-3.0.html

Oder in, vielleicht auch für dich verständlicher Form, die FAQ des GNU Projektes: http://www.gnu.org/licenses/gpl-faq#LGPLStaticVsDynamic

Reicht dir das, oder verweigerst du dich immernoch der Realität?

Btw. ein Unternehmen zu fragen, dass mit fragwürdigen Methoden versucht aus einem OSS Projekt Kapital zu schlagen zeugt natürlich auch von hoher Intelligenz. Im Übrigen macht sich The Qt Company strafbar wenn Sie dir tatsächlich eine individuelle Rechtsberatung als nicht-Rechtsanwalt zukommen haben lassen.

_________________
www.bitshift-dynamics.com


Zuletzt bearbeitet von picaschaf am 09:22:30 07.01.2017, insgesamt 2-mal bearbeitet
partsoft
Mitglied

Benutzerprofil
Anmeldungsdatum: 27.04.2016
Beiträge: 20
Beitrag partsoft Mitglied 14:31:16 07.01.2017   Titel:              Zitieren

Nun, ich bin Programmierer und kein Fachanwalt für Lizenzrecht. Trotzdem habe ich mich gezwungenermaßen mit der Materie beschäftigt und finde das statische Linken und bereitstellen von Objektcode äußerst gewagt. Deshalb bin ich ganz einfach der Meinung du solltest das hier nicht dauernd empfehlen.

https://www.qt.io/qt-licensing-terms/

Zitat:
In case of dynamic linking, it is possible, but not mandatory, to keep application source code proprietary as long as it is “work that uses the library” – typically achieved via dynamic linking of the library. In case of static linking of the library, the application itself may no longer be “work that uses the library” and thus become subject to LGPL. It is recommended to either link dynamically, or provide the application source code to the user under LGPL.


Wegen solcher Aussagen (und der Empfehlung eines Anwaltes) gehe ich jedenfalls lieber auf Nummer sicher und linke dynamisch.

Zitat:
Btw. ein Unternehmen zu fragen, dass mit fragwürdigen Methoden versucht aus einem OSS Projekt Kapital zu schlagen zeugt natürlich auch von hoher Intelligenz. Im Übrigen macht sich The Qt Company strafbar wenn Sie dir tatsächlich eine individuelle Rechtsberatung als nicht-Rechtsanwalt zukommen haben lassen.


Ich habe nur die Telefonnummer gepostet, wie kommst du darauf das ich mich dort habe beraten lassen? Allerdings denke ich tatsächlich über eine kommerzielle Lizenz nach, weil vor allem das Deployment unter Linux jedesmal eine Katastrophe ist.

_________________
https://www.partsoft.de
Softwareentwicklung und Vertrieb
picaschaf
Mitglied

Benutzerprofil
Anmeldungsdatum: 30.12.2010
Beiträge: 24
Beitrag picaschaf Mitglied 14:51:23 07.01.2017   Titel:              Zitieren

Ich empfehle gar nichts. Ich gebe nur den Lizenztext wieder und der sagt eindeutig, dass statisches Linken in Ordnung ist - sogar explizit. Selbst implizit erlaubt sie es denn die Intention dahinter ist es dem Nutzer die Möglichkeit zu geben den L-GPL Teil einer Anwendung durch seine Modifikationen austauschbar zu machen - das ist auch statisch gelinkt weiterhin möglich.

Ich empfehle jedoch niemandem statisch zu linken aus zwei ganz einfachen Gründen: 1. Es bringt keinen Vorteil, der nicht durch eine andere Technik ebenso erreichbar wäre - produziert aber viele, eben unnötige, Problemquellen. 2. Damit die L-GPL konforme Weitergabe funktioniert benötigt der Anwender die Objectfiles und die Linkerscripts. Da die aber sehr Linker- und Hostspezifisch sind produziert das einen gewissen Aufwand bei der Bereitstellung.

Dass The Qt Company sagt "zur Sicherheit kauf eine Commercial" passt in ihr Bild. Digia hat die Markenrechte eines OSS Projektes (zu dem hat Nokia Qt gemacht) gekauft und muss nun Geld damit erwirtschaften. Da das nicht gut gehen kann, so wie sie es machen, haben sie als erstes (unter anderem deswegen) Qt in eine eigene Tochtergesellschaft ausgegliedert um die eigenen Zahlen nicht zu belasten. Das nächste Thema ist genau dieses, Verunsicherung streuen, denn sonst würden ja 99% der Unternehmen die L-GPL wählen. Dazu kommt ein recht aktueller Fall wo sich herausgestellt hat, dass die pure GPL+Commercial Komponenten wie das QtVirtualKeyboard, das ein Laufzeitplugin nachlädt, selbst dann standardmäßig mitgebaut werden, wenn beim configure explizit die L-GPL gewählt wurde. Das ist in meinen Augen hinterhältig, da einem so dann GPL Code untergeschoben wird. Auch die Lizenzbedingungen der Commercial Lizenz haben es in sich - schon mal gelesen welche Rechte du TQC damit überträgst? Das nimmt fast genauso schlimme Züge wie bei Oracle an.

Wir sind primär im Embedded Umfeld tätig und da empfehle ich allen unseren Kunden die L-GPL Variante zu wählen, da sie keinen Mehraufwand bedeutet aber immense Kosten spart (> 3.500 EUR pro Entwickler pro Jahr zzgl. Runtime Lizenzen ist schon eine ordentliche Hausnummer für ein Basisframework nur um die L-GPL zu umschiffen). Zudem kann man noch nichteinmal das Argument des Supports gelten lassen - 3 Jahre Support für eine Version, 2 Tage *Response*time, und natürlich keinerlei Garantie oder Verantwortung für den Fix sind absolut inakzeptabel. Dazu kommt, wer entwickelt Qt eigentlich weiter und pflegt Bugfixes, etc.? Aktuell kommen gerade mal 20% der Änderungen von TQC selbst. Eine Spende an KDE wäre effektiver um den Fortbestand zu sichern. Oder die Beauftragung eines Unternehmens das Qt aktiv weiterentwickelt wie KDAB oder auch wir es tun.

Und wenn du die Telefonnummer von TQC postest gehe ich davon aus, dass du möchtest, dass ich mich von ihnen beraten lasse bzgl. der L-GPL - das ist natürlich Quatsch.

Wenn du ein Problem mit dem Deployment unter Linux hast, dann stell doch eine Frage - bestimmt bekommen wir das gelöst. Mit einer Commercial Lizenz wirst du daran aber nichts ändern können. Eher sogar verschlimmern, weil du dann immer deine Applikation mit den Commercial Binaries deployen musst. Erstelle doch einfach ein ordentliches RPM und/oder DEB, dann funktioniert das absolut problemlos (machen wir zB.). Oder falls du ein einfaches "Klick"-Binary möchtest, kannst du FlatPack oder UPX nutzen. Auch beides Techniken mit denen wir sehr gute Erfahrungen gemacht haben.

_________________
www.bitshift-dynamics.com
C++ Forum :: Andere GUIs - Qt, GTK+, wxWidgets ::  Qt DataBase in einem DLL kapseln   Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.net ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info und www.c-plusplus.net enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.