Kann ich die QT-Library verwenden? /crosscompilen?

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
att2
Beiträge: 15
Registriert: So 20. Nov 2016, 11:17

Kann ich die QT-Library verwenden? /crosscompilen?

Beitrag von att2 »

Hallo,
Es ist eine blöde Frage, ich weiss, aber ich bin etwas verunsichert deswegen : Kann ich unter Lazarus/FPC die QT-Bibliothek verwenden und auch z.B. nach aarch64/linux cross-compilen (Raspberry Pi) ?

Wenn ja, wie geht das, was muss ich anstellen, um QT-Elemente einzubinden in Lazarus?

Boris
Beiträge: 12
Registriert: Mo 1. Okt 2007, 21:57
OS, Lazarus, FPC: Linux: KDE Neon, Sparky - akt. Lazarus stable, FPC 3.0.2
CPU-Target: 32/64Bit
Wohnort: Rommerskirchen, NRW

Re: Kann ich die QT-Library verwenden? /crosscompilen?

Beitrag von Boris »

Auch hallo,

kommt drauf an, was du machen möchtest - wenn du Lazarus mit der LCL-Bindung an QT rekompilierst, kannst du die Standard-LCL Widgets auch unter ARM nutzen, sofern die benötigten Biliotheken auf der Plattform auch installiert / verfügbar sind.
Mal ins blaue gesprochen: du entwickelst auf einem Debian-System unter 32/64-bit mit qtLazarus, dann sollte dein Programm beim cross-compilen bzw. kompilieren auf der Zielhardware auch laufen.

War das die Frage? Oder was möchtest du mit QT machen?

att2
Beiträge: 15
Registriert: So 20. Nov 2016, 11:17

Re: Kann ich die QT-Library verwenden? /crosscompilen?

Beitrag von att2 »

Hallo,
Es ist eigentlich ganz einfach : Ich habe hier ein QT-Buch im Regal, habe es durchgelesen und mir ist klar, dass das eine super-Library ist.
Die möchte ich gerne nutzen und ein Programm für den Raspi damit erstellen, meine Erstell-Umgebung sei eine Virtuelle Maschine mit Linux Mint 19 Tara.
(ich sags mal primitiv:) Ich habe etwas wenig Doku gefunden, welche "Buttons" mir der Lazarus für mein "Form1"-Forumular dank QT extra zur Verfügung stellen würde und wie die QT-Features genau aussehen. Bzw. was ich überhaupt bei der Lazarus-Installation alles beachten muss, damit mich der Lazarus ein QT-Programm erstellen lässt.
Bisher habe ich den Lazarus/FPC mit Hilfe von FPCUPDeluxe installiert, das hat ganz gut geklappt.
Also: Gibt's zu "QT unter Laz/FPC nutzen" mehr Info irgendwo ? Welche Buttons und Methoden und Klassen mir zur Verfügung gestellt werden und was die alles können ? etc. ?

Benutzeravatar
theo
Beiträge: 8579
Registriert: Mo 11. Sep 2006, 19:01

Re: Kann ich die QT-Library verwenden? /crosscompilen?

Beitrag von theo »

Ich weiss nicht genau worauf du hinaus willst.
Der "Witz" an Lazarus ist ja gerade, dass du dich nicht um die Eigenheiten von QT, GTK, Win, Cocoa kümmern musst, sondern diese Widgets via LCL einfach einheitlich benutzen kannst.
Du möchtest dieses System also quasi aushebeln?
https://wiki.lazarus.freepascal.org/Acc ... s_directly

Boris
Beiträge: 12
Registriert: Mo 1. Okt 2007, 21:57
OS, Lazarus, FPC: Linux: KDE Neon, Sparky - akt. Lazarus stable, FPC 3.0.2
CPU-Target: 32/64Bit
Wohnort: Rommerskirchen, NRW

Re: Kann ich die QT-Library verwenden? /crosscompilen?

Beitrag von Boris »

theo hat geschrieben:Der "Witz" an Lazarus ist ja gerade, dass du dich nicht um die Eigenheiten von QT, GTK, Win, Cocoa kümmern musst, sondern diese Widgets via LCL einfach einheitlich benutzen kannst.


Hallo nochmal, genau darauf wollte ich hinaus - selbst wieder low level auf QT zuzugreifen dürfte ziemlich nervig sein - auch wenn es möglich ist. Ohne fpcupdeluxe gibt es bei Lazarus die Möglichkeit die LCL der IDE von win, gtk -> QT umzustellen. Hier der Link auf das Wiki mit der Anleitung: https://wiki.lazarus.freepascal.org/Qt_ ... rus_0.9.31

Schau mal in den Einstellungen von FPCupdeluxe, da müsste es was ähnliches geben - vorausgesetzt du hast die erforderlichen qt*-dev-Packages müsstest du Lazarus neu bauen und dann Fenster auf qt-Basis "malen" können.
Probier es mal aus, vielleicht reicht dir der "Standard" ja schon aus.

Gruß,

Boris

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 784
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Winux (L 2.0.11 FPC 3.2)
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: Kann ich die QT-Library verwenden? /crosscompilen?

Beitrag von fliegermichl »

Eigentlich doch nur die libqt5Pas erstellen und dann das Widgetset Qt5 einstellen.

kupferstecher
Beiträge: 284
Registriert: Do 17. Nov 2016, 11:52

Re: Kann ich die QT-Library verwenden? /crosscompilen?

Beitrag von kupferstecher »

att2 hat geschrieben:meine Erstell-Umgebung sei eine Virtuelle Maschine mit Linux Mint 19 Tara.

Crosscompilieren auf ARM-LINUX-QT geht auch von Windows aus (nur der Vollstaendigkeit halber).
Wie die Andern geschrieben haben, von QT musst du gar nichts wissen dabei. Das Ergebnis sieht auch fast gleich aus wie unter GTK. Lies also lieber ein Lazarus-Buch.

Benutzeravatar
Winni
Beiträge: 544
Registriert: Mo 2. Mär 2009, 16:45
OS, Lazarus, FPC: Laz2.06, fpc 3.04
CPU-Target: 64Bit
Wohnort: Fast Dänemark

Re: Kann ich die QT-Library verwenden? /crosscompilen?

Beitrag von Winni »

Hi

Wie hier schon gesagt, aber man muss es nochmal herausheben:

Lazarus läuft auf Windows, Linux, Mac. Auf gtk2,gtk3, qt und und ....

Realität: Ich versuche plattformunabhängig zu proggen unter Linux.
Dann starte ich Windows compilere neu und sehe nach wo es hakt. Das ist aber selten.
Lazarus unter Windows hat automatisch sein Widget Set eingestellt - ich muss mich um nix kümmern.

Das ist recht einzigartig.

Winni

Timm Thaler
Beiträge: 1172
Registriert: So 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
CPU-Target: Raspberry Pi 3

Re: Kann ich die QT-Library verwenden? /crosscompilen?

Beitrag von Timm Thaler »

Beachte aber: Unter Linux muss Qt installiert sein - was es meist ist -, unter Windows musst Du die qtxxx.dll mit dem Programm ausliefern.

att2
Beiträge: 15
Registriert: So 20. Nov 2016, 11:17

Re: Kann ich die QT-Library verwenden? /crosscompilen?

Beitrag von att2 »

Ja, seht ihr, dabei hakt es noch bei mir. Bei mir sieht es so aus: Ich muss den Cross-Compile-Libraries nachrennen und habe keine Ahnung, wie.
Also: Beispiel: Ein primitives Test-Programm besteht nur aus 1 Button und 1 TMemo, wenn der Button geklickt wird, wird der Text "Hello World" an das Memo angehängt.
Ich: Kompiliere: Widget-Set GTK: rennt.
Ich: Cross-Compile nach win32, win64 : geht.
Okay jetzt LCL auf "QT".
Fängt der Ärger an : qt4libpas not found. Ich: apt-get install doch das Zeug (grml, wieso muss ich dem allen hinterher-hecheln?) -> na gut, geht jetzt.
Okay, jetzt LCL auf QT und cross-compile nach AARCH64. Jetzt fängt der Ärger richtig an, Linker regt sich auf, dass er weiss gott was nicht im crosscompile lib dir findet, und ich weiss nicht, wie ich das auf meine Linux-VM mint19 kriege.
Any hints wie ich das Primitiv-Programm nach LCL=QT oder QT5 nach AARCH64 cross-compile ?

Notabene Windows - QT - crosscompile : Spuckt mir eine EXE aus, aber wenn ich die EXE starten will, kommt ein Win-Konsole fenster und "Error c0000007". -> was nun ?

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 4434
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Niederösterreich
Kontaktdaten:

Re: Kann ich die QT-Library verwenden? /crosscompilen?

Beitrag von af0815 »

att2 hat geschrieben:Notabene Windows - QT - crosscompile : Spuckt mir eine EXE aus, aber wenn ich die EXE starten will, kommt ein Win-Konsole fenster und "Error c0000007". -> was nun ?

Bei Mircosft nachgucken :-) Bekommst dort keine brauchbaren Infos :-) Nein, es fehlen dir ganz einfach die benötigten Bibliotheken. Für QT muss man eine gaaaaaanze Menge dlls für QT mitliefern. Suche mal mit deployment QT5 Windows.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Antworten