Lazarus mit Qt neu kompilieren -> Fail
-
- Beiträge: 957
- Registriert: Mo 11. Sep 2006, 22:56
Re: Lazarus mit Qt neu kompilieren -> Fail
Bei mir funktioniert V1.70 und qt-devel 4.5.0 ohne Probleme.
Re: Lazarus mit Qt neu kompilieren -> Fail
linopolus hat geschrieben:Habs jetz nochmal mit -dUSE_QT_44 versucht und es hat geklappt!!! Fragt mich nicht warum?
Hm die schliessen buttons sind weg und Alt F4 geht auch nicht:( Halb so wild, es gibt ja Datei -> Beenden
Wenn du QT4.5 installiert hast,. und du lazarus mit QT4.4 kompilierts, hast du keinen schliesen Button mehr.
Das der typische Fehler der komtm wenn die Versionen nicht übereinstimmen.
Das hier habe ich von einer Website , mit diesen Befehl klappt es immer.
Du wechselst dazu händisch (auf der konsole) in das Verz. in dem Lazarus installiert ist.
Bei Ubuntu z.b. unter: /usr/lib/lazarus
Zum Komplieren der QT Schnittstelle eingeben : (als root !) oder mittels sudo !
make clean all LCL_PLATFORM=qt OPT="-dUSE_QT_45 -k'-framework' -k'Qt4Intf' -k'-lobjc' -k'-framework' -k'Foundation'"
Achtung ! Unbedingt auf die QT Version achtgeben !
Soltte versehntlich in QT 4.5 z.b. -dUSE_QT_44 (also die 4.4er) angegeben werden erhält man keinen CLOSE button mehr.
Native KDE (Windows) Dialoge :
sudo make clean all LCL_PLATFORM=qt OPT="-dUSE_QT_45 "-dQT_NATIVE_DIALOGS" -k'-framework' -k'Qt4Intf' -k'-lobjc' -k'-framework' -k'Foundation'
Native heisst in diesen fall, QT verwendet nicht seinen eigenen FileOpen / DirectoryEdit Dialog, sondern den des jeweiligen Systemes, unter KDE dann halt den von KDE, under Windows den Windows eigenen.
Am Ende kommt dann irgendein Fehler mit -2, den kann man aber ignorieren.
IDE starten, und QT auswählen in den Compilereinstellungen.
Edit: Zum erfragen der QT version sollte folgender Befehl funktionieren :
kde${KDE_SESSION_VERSION}-config --version
das sieht dann in etwas so aus :
Qt: 4.5.0
KDE: 4.2.2 (KDE 4.2.2)
kde4-config: 1.0
oder so : (funktioniert auch unter GNOME wenn die QT Sachen installiert sind)
Qt: 3.3.8b
KDE: 3.5.10
kde-config: 1.0
-
- Beiträge: 24
- Registriert: Fr 13. Feb 2009, 08:27
- OS, Lazarus, FPC: Arch Linux, 2.9.27, 2.2.5
- CPU-Target: Pentium4 Northwood
- Wohnort: /home/linopolus
Re: Lazarus mit Qt neu kompilieren -> Fail
Reinhard hat geschrieben:Das hier habe ich von einer Website , mit diesen Befehl klappt es immer.
Weisst du die URL noch?
Gruß, linopolus
-
- Beiträge: 957
- Registriert: Mo 11. Sep 2006, 22:56
Re: Lazarus mit Qt neu kompilieren -> Fail
LCL_PLATFORM=qt OPT="-dUSE_QT_45 QT_NATIVE_DIALOGS"
langt
afaik ist der andere Kram nur für Mac.
Ich werds bei Gelegenheit mal mit Qt 4.5.1 testen.
Edit: auch mit 4.5.1 problemlos
langt
afaik ist der andere Kram nur für Mac.
Ich werds bei Gelegenheit mal mit Qt 4.5.1 testen.
Edit: auch mit 4.5.1 problemlos
-
- Beiträge: 24
- Registriert: Fr 13. Feb 2009, 08:27
- OS, Lazarus, FPC: Arch Linux, 2.9.27, 2.2.5
- CPU-Target: Pentium4 Northwood
- Wohnort: /home/linopolus
Re: Lazarus mit Qt neu kompilieren -> Fail
creed steiger hat geschrieben:LCL_PLATFORM=qt OPT="-dUSE_QT_45 QT_NATIVE_DIALOGS"
langt
afaik ist der andere Kram nur für Mac.
Ich werds bei Gelegenheit mal mit Qt 4.5.1 testen.
Edit: auch mit 4.5.1 problemlos
Der kennt QT_NATIVE_DIALOGS nicht.
edit: jetzt kennt ders ploetzlich. Problem:
Code: Alles auswählen
Linking ../lazarus
/usr/bin/ld: warning: ../link.res contains output sections; did you forget -T?
/tmp/yaourt-tmp-linopolus/aur-lazarus-svn-qt/lazarus-svn-qt/src/lazarus-build/lcl/units/i386-linux/qt/qtwidgets.o: In function `TQTTABWIDGET__ATTACHEVENTS':
qtwidgets.pas:5845: undefined reference to `QTabWidget_hook_hook_tabCloseRequested'
/tmp/yaourt-tmp-linopolus/aur-lazarus-svn-qt/lazarus-svn-qt/src/lazarus-build/lcl/units/i386-linux/qt/qtwidgets.o: In function `TQTTABWIDGET__SETTABSCLOSABLE':
qtwidgets.pas:5989: undefined reference to `QTabWidget_setTabsClosable'
/tmp/yaourt-tmp-linopolus/aur-lazarus-svn-qt/lazarus-svn-qt/src/lazarus-build/lcl/units/i386-linux/qt/qtwsdialogs.o: In function `TQTWSFILEDIALOG__CREATEHANDLE':
qtwsdialogs.pp:326: undefined reference to `QFileDialog_setOption'
/tmp/yaourt-tmp-linopolus/aur-lazarus-svn-qt/lazarus-svn-qt/src/lazarus-build/lcl/units/i386-linux/qt/qtwsdialogs.o: In function `TQTWSFILEDIALOG__SHOWMODAL':
qtwsdialogs.pp:399: undefined reference to `QFileDialog_setOption'
/tmp/yaourt-tmp-linopolus/aur-lazarus-svn-qt/lazarus-svn-qt/src/lazarus-build/lcl/units/i386-linux/qt/qtwsdialogs.o: In function `TQTWSSELECTDIRECTORYDIALOG__CREATEHANDLE':
qtwsdialogs.pp:514: undefined reference to `QFileDialog_setOption'
lazarus.pp(123,1) Error: Error while linking
lazarus.pp(123,1) Fatal: There were 1 errors compiling module, stopping
Fatal: Compilation aborted
Error: /usr/bin/ppc386 returned an error exitcode (normal if you did not specify a source file to be compiled)
make[2]: *** [lazarus] Fehler 1
make[2]: Leaving directory `/tmp/yaourt-tmp-linopolus/aur-lazarus-svn-qt/lazarus-svn-qt/src/lazarus-build/ide'
make[1]: *** [ide] Fehler 2
make[1]: Leaving directory `/tmp/yaourt-tmp-linopolus/aur-lazarus-svn-qt/lazarus-svn-qt/src/lazarus-build/ide'
make: *** [ide] Fehler 2
Gruß, linopolus
tr
linopolus hat geschrieben:Habs jetzt mit -dUSE_QT_45 gemacht aber da kommen jetzt andere Fehler::(Code: Alles auswählen
"LCL" beendet
"Package-Registrierung" beendet
"IDE-Schnittstelle" beendet
"SynEdit" beendet
"CodeTools" beendet
...
qtwsdialogs.pp:514: undefined reference to `QFileDialog_setOption'
...
/usr/lib/lazarus/ide/lazarus.pp(123,1) Error: Error while linking
/usr/lib/lazarus/ide/lazarus.pp(123,1) Fatal: There were 1 errors compiling module, stopping
I do not know german well, so in English: When you mix Qt 44 with libqt4intf for Qt4.5 you get this failure because
Qt 4.5 has a QFileDialog::setOption method, Qt 4.4 not. You can see that here:
http://doc.qtsoftware.com/4.5/qfiledial ... #setOption
http://doc.qtsoftware.com/4.4/qfiledialog.html
This means the linker finds a Qt 4.4 and not the Qt 4.5 you think you installed (you did not correctly)
regards,
Den Jean
-
- Beiträge: 957
- Registriert: Mo 11. Sep 2006, 22:56
Re: Lazarus mit Qt neu kompilieren -> Fail
was bringt den
qtconfig
im About Dialog?
qtconfig
im About Dialog?
-
- Beiträge: 1100
- Registriert: Di 5. Aug 2008, 09:37
- OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
- CPU-Target: 32/64,PPC(+64), ARM
- Wohnort: Eindhoven (Niederlande)
Re: Lazarus mit Qt neu kompilieren -> Fail
linopolus hat geschrieben:Habs jetz nochmal mit -dUSE_QT_44 versucht und es hat geklappt!!! Fragt mich nicht warum?
Vielleicht ist qt4intf noch nicht fuer 4.5 geupdate.
-
- 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 mit Qt neu kompilieren -> Fail
Doch, ist sie. Nutzt am besten den Lazarus 0.9.27-SVN snapshot, denn nur dieser hat die nötigen Änderungen drin. Auch FPC 2.2.4 ist nützlich.
Eine extra für Qt4.5 kompilierte und paketierte Variante findet ihr auf Launchpad in meinem PPA (bitte nicht das PPA für "karmic" einbinden, da ist eine extra modifizierte Lazarus-Variante drin, welche (noch) nicht produktiv genutzt werden sollte).
Für RPM-basierende Systeme gibt es bald auch ein Paket. Außerdem wird das Paket vorraussichtlich in Ubuntu Karmic enthalten sein, wenn alles glatt geht. In den Fedora-Archiven soll es dann später auch landen.
Lazarus 0.9.27 kann, wenn alles installiert ist, mit dem Qt4.5-Flak erstellt werden. Viel Spaß
Eine extra für Qt4.5 kompilierte und paketierte Variante findet ihr auf Launchpad in meinem PPA (bitte nicht das PPA für "karmic" einbinden, da ist eine extra modifizierte Lazarus-Variante drin, welche (noch) nicht produktiv genutzt werden sollte).
Für RPM-basierende Systeme gibt es bald auch ein Paket. Außerdem wird das Paket vorraussichtlich in Ubuntu Karmic enthalten sein, wenn alles glatt geht. In den Fedora-Archiven soll es dann später auch landen.
Lazarus 0.9.27 kann, wenn alles installiert ist, mit dem Qt4.5-Flak erstellt werden. Viel Spaß
Re: Lazarus mit Qt neu kompilieren -> Fail
Targion hat geschrieben:(bitte nicht das PPA für "karmic" einbinden, da ist eine extra modifizierte Lazarus-Variante drin, welche (noch) nicht produktiv genutzt werden sollte).
Hast du mal mit Mazen Neifer gesprochen? Er ist für die Lazarus/FPC Pakete für Debian (und damit auch Ubuntu) zuständig.
knight
-
- 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 mit Qt neu kompilieren -> Fail
knight hat geschrieben:Hast du mal mit Mazen Neifer gesprochen? Er ist für die Lazarus/FPC Pakete für Debian (und damit auch Ubuntu) zuständig.
knight
Nein, den kenne ich nicht. Die Lazarus-Variante im PPA ist auch ziemlich "quick-and-dirty" zusammengeschraubt, um einige Eigenschaften des PPAs und einiger Programme zu testen und sollte auf keinen Fall für anderes als experimentelle Software genutzt werden. Die libqt4intf.so steht im Moment noch auf der Warteliste für eine Aufnahme in Ubuntu/Debian... (Mind. zwei MOTUs müssen das Paket abnicken, bevor es rein darf) Ich melde mich mal bei Mazen, da er Debian-Maintainer ist, könnte das die Aufnahme der libqt4intf sehr beschleunigen.
-
- Beiträge: 88
- Registriert: Sa 3. Mär 2007, 13:46
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Langenbrettach
Re: Lazarus mit Qt neu kompilieren -> Fail
Wow, ich bin ganz überrascht.
Habe vorhin mal wieder versucht Programme für Qt zu kompilieren. Ging natürlich erstmal wieder nicht.
Habe dann die aktuelle Lazarus 0.9.27 geladen und siehe da: nicht nur die Programme erscheinen im Qt4-Look sondern auch Lazarus selbst
Das einzige was gerade noch nicht geht sind die nativen Kde4-Dialoge:
sudo make clean all LCL_PLATFORM=qt OPT="-dUSE_QT_45 -dQT_NATIVE_DIALOGS"
erzeugt die gleichen Nicht-KDE-Dialoge wie
sudo make clean all LCL_PLATFORM=qt OPT="-dUSE_QT_45 QT_NATIVE_DIALOGS"
Wie lautet der Befehl richtig?
Ansonsten: Lob an das Lazarus-Team, super Arbeit, weiter so!
Habe vorhin mal wieder versucht Programme für Qt zu kompilieren. Ging natürlich erstmal wieder nicht.
Habe dann die aktuelle Lazarus 0.9.27 geladen und siehe da: nicht nur die Programme erscheinen im Qt4-Look sondern auch Lazarus selbst
Das einzige was gerade noch nicht geht sind die nativen Kde4-Dialoge:
sudo make clean all LCL_PLATFORM=qt OPT="-dUSE_QT_45 -dQT_NATIVE_DIALOGS"
erzeugt die gleichen Nicht-KDE-Dialoge wie
sudo make clean all LCL_PLATFORM=qt OPT="-dUSE_QT_45 QT_NATIVE_DIALOGS"
Wie lautet der Befehl richtig?
Ansonsten: Lob an das Lazarus-Team, super Arbeit, weiter so!
-
- Beiträge: 512
- Registriert: Mo 25. Aug 2008, 18:17
- OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
- CPU-Target: x86
- Wohnort: Chemnitz
Re: Lazarus mit Qt neu kompilieren -> Fail
Giantics hat geschrieben:Das einzige was gerade noch nicht geht sind die nativen Kde4-Dialoge:
sudo make clean all LCL_PLATFORM=qt OPT="-dUSE_QT_45 -dQT_NATIVE_DIALOGS"
erzeugt die gleichen Nicht-KDE-Dialoge wie
sudo make clean all LCL_PLATFORM=qt OPT="-dUSE_QT_45 QT_NATIVE_DIALOGS"
Wie lautet der Befehl richtig?
Wie letztens schon in dem gleichnamigen Topic geschrieben, glaube ich nicht, dass das überhaupt geht. Immerhin wird nicht grundlos zwischen QApplication und KApplication unterschieden.
-
- Beiträge: 88
- Registriert: Sa 3. Mär 2007, 13:46
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Langenbrettach
Re: Lazarus mit Qt neu kompilieren -> Fail
Hitman hat geschrieben:Wie letztens schon in dem gleichnamigen Topic geschrieben, glaube ich nicht, dass das überhaupt geht. Immerhin wird nicht grundlos zwischen QApplication und KApplication unterschieden.
Naja, der Screenshot des anderen Threads sagt was anderes