Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   FreePascal (https://www.delphipraxis.net/74-freepascal/)
-   -   Qt statisch linken? (https://www.delphipraxis.net/176195-qt-statisch-linken.html)

cookie22 19. Aug 2013 08:04

Qt statisch linken?
 
Hallo,

erst einmal vorweg, ich hab diese Frage schon im Lazarus Forum gepostet, aber das hat leider zu nichts geführt. Nicht das gleich wieder einer Crossposting ruft. :)

Ich würde gerne ein Protable-Programm für Linux und/oder Mac OS X gegen Qt linken. Allerdings wäre es schön eine single Exe zu haben. Kann ich Qt mit Fpc/Lazaeus statisch linken? Wenn nicht, wie gebe ich die entsprechenden Qt Dateien dazu? Leider findet sich hierzu sogut wie nichts im Web.

Gruß,
Cookie

Bernhard Geyer 19. Aug 2013 08:25

AW: Qt statisch linken?
 
Nicht gesucht oder nicht gefunden?

Hier eine erklärung was zu machen wäre:

http://stackoverflow.com/questions/5...h-a-qt-project

Man sollte auch die LGPL-Einschräkungen berücksichtigen die damit auftreten.

Im Lazarus-Forum hat jemand auch die Frage gestellt. Hab jetzt nicht durchgelesen was das Ergebnis ist.

cookie22 19. Aug 2013 09:34

AW: Qt statisch linken?
 
Wie ich das Ganze in mein Fpc Projekt bekomme steht da leider nicht. Fpc <> C++, oder in diesem falle Fpc != C++. ;)

Bernhard Geyer 19. Aug 2013 09:36

AW: Qt statisch linken?
 
Den Link auf das Lazarus-Forum vergessen: http://forum.lazarus.freepascal.org/...?topic=14217.0

Namenloser 19. Aug 2013 09:50

AW: Qt statisch linken?
 
Ich denke, du müsstest erst mit einem C++-Compiler eine Object(.o)-Datei erzeugen. Die kannst du dann in Freepascal einbinden (Bei Google suchenfreepascal static link c).

Sorry, falls du das schon wusstest, mehr weiß ich dazu leider auch nicht...

cookie22 19. Aug 2013 12:06

AW: Qt statisch linken?
 
Denke das ist der richtige Ansatz. :)

DualCoreCpu 24. Mär 2020 10:42

AW: Qt statisch linken?
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1225278)
Nicht gesucht oder nicht gefunden?

Hier eine erklärung was zu machen wäre:

http://stackoverflow.com/questions/5...h-a-qt-project

Man sollte auch die LGPL-Einschräkungen berücksichtigen die damit auftreten.

Im Lazarus-Forum hat jemand auch die Frage gestellt. Hab jetzt nicht durchgelesen was das Ergebnis ist.

Heißt das, das statisches Linken verboten ist?

himitsu 24. Mär 2020 11:21

AW: Qt statisch linken?
 
Es gibt Lizenzen, die ein direktes Linken deren Code in eine Anwendung verbieten, aber bei denen gibt es dann meistens auch keine LIB-Dateien, die man linken könnte.

Auch gibt es einige Lizenzmodelle, vor allem im Bereich Open Source, die erlauben es nicht "fest" in Closed Source Projekte eingebunden zu werden, wenn der Code in seiner Hauptfunktion ohne diesen fremden Code/Komponente nicht funktionsfähig ist.


Falls deine Lizenz zu der Lizenz der Fremdkomponente kompatibel ist und es von der Komponente z.B. LIB-Dateien gibt, deren Inhalt vom Compiler direkt in deine EXE/DLL gelinkt werden können, dann gibt es eigentlich keine Probleme.

Ansonsten entweder dynamisch verlinken, aber so dass es nicht gleich abraucht, sollte die Library/DLL fehlen,
falls es die Lizenz wenigstens das verlinken erlaubt, dann geht auch ein statischer Import deren DLL
oder deinen Code/Programm unter der gleichen oder einer kompatiblen Lizenz veröffentlichen, wenn deren Code einkompiliert wird, aber die Lizenz es verlangt dass "alles" Open Sorce bleiben muß.

DualCoreCpu 24. Mär 2020 19:25

AW: Qt statisch linken?
 
Wie funktioniert so ein statischer Import?

Rollo62 25. Mär 2020 06:44

AW: Qt statisch linken?
 
Zitat:

Wie funktioniert so ein statischer Import?
Vermutlich gar nicht, ich kenne mich mit dem QT-Linker jetzt nicht aus,
aber es ist wohl sehr wahrscheinlich das die Binärcodes völlig inkompatibel sind.
Wenn schon VC und C++Builder nicht zusammenpassen.

Ein Linken könnte vielleicht über einen kleinen Wrapper auf die QT-"Dll" gemacht werden.

Du schreibst von Linux/Macos zu EXE, also vermischt Du hier Windows/Linux ?
Ich vermute mal das es dann nicht um "DLL" sondern um .so/.dylib geht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:44 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz