Lazarus für Qt fit machen
Lazarus für Qt fit machen
Hi,
ich muss Lazarus für die Programmierung mit Qt/Embedded fit bekommen. Ich habe Qt heruntergeladen und ordnungsgemäß installiert. Lazarus und FPC (2.2.0) war bereits installiert.
Ich habe die Anleitung http://wiki.lazarus.freepascal.org/inde ... _for_Linux nach und nach abgearbeitet.
Beim "Erstellen" von Lazarus umgestellt auf Qt erhielt ich einige Warnings/Notes, jedoch keinen Fehler (siehe Anhang).
Daraufhin habe ich ein Testprojekt erstellt. Im Prinzip eine leere GUI-Oberfläche ohne Buttons und anderen Schnickschnack (denke der Code ist hier nicht weiter nötig).
Beim Compilieren schmiss er mir:
deletemetoo.lpr(13,14) Error: Identifier not found "Application"
deletemetoo.lpr(13,25) Error: Illegal expression
deletemetoo.lpr(14,14) Error: Identifier not found "Application"
deletemetoo.lpr(14,25) Error: Illegal expression
deletemetoo.lpr(14,25) Fatal: Syntax error, ";" expected but "(" found
Ich habe "Forms" zu den "uses" hinzugefügt, da "Application" dort deklariert ist. Beim nächsten Compilieren habe ich eigentlich ganz eindeutige Fehler bekommen, was diesmal fehlschlug (siehe wiedermal den Anhang). Allerdings fällt mir keine Idee ein, wie ich was wo und wann linken soll.
Vielleicht kann mir heir jemand mit Rat und Ideen weiterhelfen?
Gruß,
Patrick
ich muss Lazarus für die Programmierung mit Qt/Embedded fit bekommen. Ich habe Qt heruntergeladen und ordnungsgemäß installiert. Lazarus und FPC (2.2.0) war bereits installiert.
Ich habe die Anleitung http://wiki.lazarus.freepascal.org/inde ... _for_Linux nach und nach abgearbeitet.
Beim "Erstellen" von Lazarus umgestellt auf Qt erhielt ich einige Warnings/Notes, jedoch keinen Fehler (siehe Anhang).
Daraufhin habe ich ein Testprojekt erstellt. Im Prinzip eine leere GUI-Oberfläche ohne Buttons und anderen Schnickschnack (denke der Code ist hier nicht weiter nötig).
Beim Compilieren schmiss er mir:
deletemetoo.lpr(13,14) Error: Identifier not found "Application"
deletemetoo.lpr(13,25) Error: Illegal expression
deletemetoo.lpr(14,14) Error: Identifier not found "Application"
deletemetoo.lpr(14,25) Error: Illegal expression
deletemetoo.lpr(14,25) Fatal: Syntax error, ";" expected but "(" found
Ich habe "Forms" zu den "uses" hinzugefügt, da "Application" dort deklariert ist. Beim nächsten Compilieren habe ich eigentlich ganz eindeutige Fehler bekommen, was diesmal fehlschlug (siehe wiedermal den Anhang). Allerdings fällt mir keine Idee ein, wie ich was wo und wann linken soll.
Vielleicht kann mir heir jemand mit Rat und Ideen weiterhelfen?
Gruß,
Patrick
- Dateianhänge
-
Compiler_log.txt
- Ausgabe des Compilers
- (2.21 MiB) 78-mal heruntergeladen
-
Build_log.txt
- Ausgabe nach dem Erstellen von Lazarus
- (22.22 KiB) 64-mal heruntergeladen
-
- Lazarusforum e. V.
- Beiträge: 2809
- Registriert: Sa 9. Sep 2006, 18:05
- OS, Lazarus, FPC: Linux (L trunk FPC trunk)
- CPU-Target: 64Bit
- Wohnort: Dresden
- Kontaktdaten:
Re: Lazarus für Qt fit machen
Herzlich Willkommen im Forum.
Wo sind den deine eindeutigen Fehler?
Da steht zwar mal aber ansonsten ist es doch nicht dein Ernst, hier 2.2MByte Logdatei anzuhängen...bitte mal auf das wesentliche kürzen.
Hast du den Syntax-Error beseitigt? Error while linking ist nen recht weites Feld. Hast du die richtige qt-Version auf dem System? Schreibrechte usw?
Wo sind den deine eindeutigen Fehler?
Da steht zwar mal
Code: Alles auswählen
deletemetoo.lpr(16,1) Error: Error while linking
Hast du den Syntax-Error beseitigt? Error while linking ist nen recht weites Feld. Hast du die richtige qt-Version auf dem System? Schreibrechte usw?
Johannes
Re: Lazarus für Qt fit machen
Undefined references finde ich hier eindeutig =) Die müssen ja sicherlich iwo entstehen...
Ja, die 2 Mb waren mein ernst, denn kaum jemand benutzt noch nen 56k Modem oder eine Festplatte mit wenigen Mb Speicher
Wollte den Kram eben nicht posten. Hab wahrscheinlich nicht mitbekommen, dass es so groß war^^
Qt-Version, Schreibrechte ist soweit alles im Lot.
Den Syntax-Error habe ich nicht beseitigt, da es sich hier um einen Folgefehler handelt. Sowie ich Forms als Unit mit aufnehme, verschwinden die Fehler in Kursivschrift und es treten die im Textfile beschriebenen auf. Hab das im vorherigen Post schlecht formuliert stelle ich grad fest
Auch wenns ne breites Feld is mit dem Link-Fehler: Mir fehlen Ideen und Ansätze...
Ja, die 2 Mb waren mein ernst, denn kaum jemand benutzt noch nen 56k Modem oder eine Festplatte mit wenigen Mb Speicher

Qt-Version, Schreibrechte ist soweit alles im Lot.
Den Syntax-Error habe ich nicht beseitigt, da es sich hier um einen Folgefehler handelt. Sowie ich Forms als Unit mit aufnehme, verschwinden die Fehler in Kursivschrift und es treten die im Textfile beschriebenen auf. Hab das im vorherigen Post schlecht formuliert stelle ich grad fest

Auch wenns ne breites Feld is mit dem Link-Fehler: Mir fehlen Ideen und Ansätze...
Re: Lazarus für Qt fit machen
Keine Ahnung.
Sowas deutet aber draufhin, dass die gefundene Qt-Version (falls überhaupt gefunden) nicht zur ibqt4intf.so Version passt.
/usr/local/lib/libqt4intf.so: undefined reference to `QX11Info::depth() const'
Sowas deutet aber draufhin, dass die gefundene Qt-Version (falls überhaupt gefunden) nicht zur ibqt4intf.so Version passt.
/usr/local/lib/libqt4intf.so: undefined reference to `QX11Info::depth() const'
-
- Beiträge: 958
- Registriert: Mo 11. Sep 2006, 22:56
Re: Lazarus für Qt fit machen
Was für eine Distro benutzt du und welche Qt libs hast du installiert?
Re: Lazarus für Qt fit machen
Ich arbeite mit Kubuntu Gutsy.
Von der Qt-Seite (Trolltech) habe ich mir zu Qt/Embedded die Sourcen geladen und nach Anleitung installiert (configure, make, make install).
Falls du da genaueres wissen magst, kann ich erst morgen wieder Auskunf geben.
Ich befürchte auch, dass die libqt4intf.so auch nicht ganz zu Embedded passt. Leider heißen zum einen die Dateien trotzdem so und zum anderen hab ich ne Seite gefunden gehabt, wo der Download zu Embedded keinen Inhalt hat...
siehe hier ---> http://users.telenet.be/Jan.Van.hijfte/ ... pcqt4.html
Gruß
Von der Qt-Seite (Trolltech) habe ich mir zu Qt/Embedded die Sourcen geladen und nach Anleitung installiert (configure, make, make install).
Falls du da genaueres wissen magst, kann ich erst morgen wieder Auskunf geben.
Ich befürchte auch, dass die libqt4intf.so auch nicht ganz zu Embedded passt. Leider heißen zum einen die Dateien trotzdem so und zum anderen hab ich ne Seite gefunden gehabt, wo der Download zu Embedded keinen Inhalt hat...

siehe hier ---> http://users.telenet.be/Jan.Van.hijfte/ ... pcqt4.html
Gruß
-
- Beiträge: 688
- Registriert: Mi 3. Okt 2007, 21:00
- OS, Lazarus, FPC: Linux (L 0.9.29 FPC 2.4.2)
- CPU-Target: x86_64
Re: Lazarus für Qt fit machen
-> Neueren FPC nutzen
-> Qt4-Pakete mittels Synaptic/Adept installieren
-> libqt4intf.so oder das entsprechende Paket (beim BuildService von openSUSE zu finden) installieren
Von der Trolltec/Nokia-Website brauchst du nichts.
-> Qt4-Pakete mittels Synaptic/Adept installieren
-> libqt4intf.so oder das entsprechende Paket (beim BuildService von openSUSE zu finden) installieren
Von der Trolltec/Nokia-Website brauchst du nichts.
Re: Lazarus für Qt fit machen
Hab Qt4 mal installiert, aber leider ist es mir hier nicht möglich den XServer zu umgehen, so wie es mir mit Qt/Embedded gelungen ist. Beim BuildService habe ich nichts gefunden. Danke für den TIp.
Re: Lazarus für Qt fit machen
Sachen gibts.... jetzt hab ich Qt/Embedded wieder aufgespielt, so wie vorher auch, und Lazarus(FPC) kompiliert ohne Fehlermeldungen
Und so wie es aussieht ist soweit auch alles richtig gesetzt und konfiguriert.
Aber ein NAchspiel muss es ja geben: Mein Ziel ist es ja, den Xserver zu umgehen, so dass ich in der Konsole die Applikationen starten kann. Leider bekomme ich bei Programmstart eine cannot connect to xserver Mitteilung ausgegeben. Mal sehen, wie ich da weiter fortfahre.
Zum Spaß hab ich das ganze auch mal mit Eclipse und C++ zusammengeschustert, wo das auch schon prima funktioniert, aber es bleibt Aufgabe, es für Lazarus zu schaffen...

Aber ein NAchspiel muss es ja geben: Mein Ziel ist es ja, den Xserver zu umgehen, so dass ich in der Konsole die Applikationen starten kann. Leider bekomme ich bei Programmstart eine cannot connect to xserver Mitteilung ausgegeben. Mal sehen, wie ich da weiter fortfahre.
Zum Spaß hab ich das ganze auch mal mit Eclipse und C++ zusammengeschustert, wo das auch schon prima funktioniert, aber es bleibt Aufgabe, es für Lazarus zu schaffen...
Re: Lazarus für Qt fit machen
Moin zusammen!
Also, nachdem einiges hier und dort nicht mehr ging, habe ich frische den aktuellsten FPC (2.2.2) installt und mir Lazarus nochmals aus dem SVN ausgecheckt. Nach ein paar kleineren Komplikationen konnte ich Lazarus mit dem Makefile compilieren und dann auch starten. Auch bei dr Installation des Compilers gab es keine Probleme. Als ich Lazarus nun auf Qt umstellte und die IDE neu "erstellte" habe ich auch sofort erkannt, dass nun Qt verwendet wird. Allerdings hätte ich auch gern, dass der Compiler das Qt auch vernünftig nutzt. Habe mir dafür nochmals die Sources für Qt/Embedded geladen, dort ein Skript angepasst und es ausgeführt. Ohne Fehler und Warnungen wurde mir die "libqt4intf.so" erzeugt, die ich an die richtige Stelle kopierte (/usr/local/lib) und mit ldconfig registriete. Um auszuschließen, dass Lazarus mit dem Linken nicht klar kommt, habe ich die Kompilierung und Linkung auchmal per Hand durchgeführt. Beide Verfahren haben allerdings dasselbe Ergebnis:
An der Stelle der "..." standen halt noch mehrere "undefined references". Ich hab dem Compiler nun schon alle möglichen Pfade mitgegeben und nix rührt sich... hat jemand noch eine Idee hier?
Gruß,
Patrick
Also, nachdem einiges hier und dort nicht mehr ging, habe ich frische den aktuellsten FPC (2.2.2) installt und mir Lazarus nochmals aus dem SVN ausgecheckt. Nach ein paar kleineren Komplikationen konnte ich Lazarus mit dem Makefile compilieren und dann auch starten. Auch bei dr Installation des Compilers gab es keine Probleme. Als ich Lazarus nun auf Qt umstellte und die IDE neu "erstellte" habe ich auch sofort erkannt, dass nun Qt verwendet wird. Allerdings hätte ich auch gern, dass der Compiler das Qt auch vernünftig nutzt. Habe mir dafür nochmals die Sources für Qt/Embedded geladen, dort ein Skript angepasst und es ausgeführt. Ohne Fehler und Warnungen wurde mir die "libqt4intf.so" erzeugt, die ich an die richtige Stelle kopierte (/usr/local/lib) und mit ldconfig registriete. Um auszuschließen, dass Lazarus mit dem Linken nicht klar kommt, habe ich die Kompilierung und Linkung auchmal per Hand durchgeführt. Beide Verfahren haben allerdings dasselbe Ergebnis:
Code: Alles auswählen
...
...
/usr/local/lib/libqt4intf.so: undefined reference to `QWidget::qwsEvent(QWSEvent*)'
/usr/local/lib/libqt4intf.so: undefined reference to `QPrintPreviewWidget::print()'
/usr/local/lib/libqt4intf.so: undefined reference to `QStyledItemDelegate::QStyledItemDelegate(QObject*)'
/usr/local/lib/libqt4intf.so: undefined reference to `QPrintPreviewWidget::setPortraitOrientation()'
/usr/local/lib/libqt4intf.so: undefined reference to `QPrintPreviewWidget::fitToWidth()'
/usr/local/lib/libqt4intf.so: undefined reference to `QMdiArea::tabPosition() const'
...
...
deletemetoo.lpr(16,1) Error: Error while linking
deletemetoo.lpr(16,1) Fatal: There were 1 errors compiling module, stopping
Gruß,
Patrick