Seite 1 von 1

uic: File generated with too recent version of Qt Designer

Verfasst: 23. Oktober 2007 22:03
von Frau Kuchen
Hallo Forum,

beim kompilieren einer "Simple KDE Application", die ich mit einem Qt4-Widget erweitert habe, kommt folgende Fehlermeldung:

uic: File generated with too recent version of Qt Designer (4.0 vs. 3.3.7)

Mein System ist frisch aufgesetzt mit Ubuntu 7.10 "Gutsy Gibbon" und ich habe definitiv keinen Qt-Designer mit der Version 3.3.7 drauf, sondern nur den Qt-Designer mit der Version 4.3.2 Open Source, der auch aus KDevelop heraus gestartet wurde. KDevelop ist die Version 3.5.0.

Die folgenden Pakete wurden installiert:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install g++
sudo apt-get install kdevelop
sudo apt-get install kdevelop-doc
sudo apt-get install kdevelop-dev
sudo apt-get install autoconf
sudo apt-get install autoconf-doc
sudo apt-get install autoconf
sudo apt-get install libtool
sudo apt-get install libtool-doc
sudo apt-get install kde-i18n-de
sudo apt-get install qt4-designer
sudo apt-get install qt4-doc


Damit kann ich problemlos die folgenden Projekte übersetzen:

Simple Hello World Program
Simple KDE Application
Simple KDE Application mit Qt3 Widget (1)
Simple KDE Application mit Qt3 Main Window (1)
Basic Qt4 Application (QMake project) (2)
Qt4 Application (QMake project) (2)


(1) mit Unterstützung der Anleitung:
http://women.kde.org/articles/tutorial ... ndex.html

(2)
Absolute Path for QMake (Qt4) = /usr/bin/qmake-qt4
Absolute Path for Designer (Qt4) = /usr/bin/designer


Das folgende Projekt läßt sich nicht übersetzen:

Simple KDE Application mit Qt4 Widget


Unter Projekt-Optionen->C++ Support ->Qt Optionen

sind meiner Meinung nach die korrekten Einstellungen drin, die ich natürlich schon mit den Einstellungen der beiden erfolgreich übersetzen Projekte

Basic Qt4 Application (QMake project) (2)
Qt4 Application (QMake project) (2)

kontrolliert und verglichen habe.


Habt ihr eine Ahnung, was ich übersehen habe?

Verfasst: 23. Oktober 2007 23:03
von Christian81
Du versuchst mit qt3 zu kompilieren aber benutzt den uic von qt4

Verfasst: 24. Oktober 2007 13:35
von Frau Kuchen
Christian81 hat geschrieben:Du versuchst mit qt3 zu kompilieren aber benutzt den uic von qt4
[Loriot]
Ach...
[/Loriot]

Wie schon in meinem Eingangsposting beschrieben, habe ich die korrekten Pfade eingestellt (QMake und Designer) und natürlich im Terminal vorher ausprobiert, ob es die richtigen sind.

Ein im Terminal ausgeführtes

/usr/bin/qmake-qt4 -v

bringt

QMake version 2.01a
Using Qt version 4.3.2 in /usr/lib


Allerdings sehe ich gerade, das es drei verschiedene QMake bei mir gibt.

qmake
qmake-qt3
qmake-qt4

Wobei qmake und qmake-qt3 identisch zu sein scheinen

qmake -v
Qmake version: 1.07a (Qt 3.3.7)
Qmake is free software from Trolltech AS.

qmake-qt3 -v
Qmake version: 1.07a (Qt 3.3.7)
Qmake is free software from Trolltech AS.


Zurück zu meinem Problem. Einstellungen sind kontrolliert und korrekt, wieso kommt dieser verdammte Fehler? Wo muß ich schrauben, damit ich das abstellen kann?

MfG, Eure Frau Kuchen

Verfasst: 24. Oktober 2007 13:40
von Christian81
Eine KDE-App wird wohl eine Qt-3 App sein und deshalb qmake oder qmake-qt3 benutzen... Du hast doch nun ein Qt4-Template, also warum benutzt Du es nicht??

Verfasst: 24. Oktober 2007 14:57
von Frau Kuchen
Christian81 hat geschrieben:Eine KDE-App wird wohl eine Qt-3 App sein und deshalb qmake oder qmake-qt3 benutzen... Du hast doch nun ein Qt4-Template, also warum benutzt Du es nicht??
Vielen Dank für die schnelle Antwort.

Was KDevelop und das Programmieren in C++ unter Linux angeht, so bin ich ein Anfänger, der versucht, seine Defizite so Schritt für Schritt auszugleichen. Vor dem Umstieg von Feisty Fawn auf Gutsy Gibbon habe ich mit dem derzeit aktuellen KDevelop 3.4.0 (? ), Qt3 und dem Qt3-Designer gearbeitet und einige Tutorials durchgearbeitet und eigene kleine Programme (Entfaltungsberechnung, kgV, ggT, Zeichenkettenverarbeitung mittels Std::String und QString, Zugriff über IBPP auf Firebird-Datenbank) erstellt. Wenn ich den Qt-Designer benutzt hab, dann bin ich immer folgendermaßen vorgegangen:

Qt3 Projekt erzeugen

KDevelop starten
New Project Simple KDE Application
Run automake & friends
Run configure
Build project
Execute program
"Hello World" erscheint
File New Qt3 Widget (.ui) KDevelop Designer (Qt3-Designer) startet
pushButton drauf
F3 drücken
Clicked()-Signal vom Button dem Close()-Slot der Form zuweisen
Abspeichern
Run automake & friends
Run configure
Build project
Execute program
"Hello World" erscheint
main.cpp editieren (Einige Zeilen löschen)
test.cpp und test.h löschen
Subclassing Wizzard aufrufen
Klasse von test.ui ableiten
Abspeichern
Run automake & friends
Run configure
Build project
Execute program
Statt "Hello World" erscheint mein Qt3-Dialog



Qt4 Projekt erzeugen

KDevelop starten
New Project Simple KDE Application

Unter Projekt-Optionen->C++ Support ->Qt Optionen
Absolute Path for QMake (Qt4) = /usr/bin/qmake-qt4
Absolute Path for Designer (Qt4) = /usr/bin/designer

Run automake & friends
Run configure
Build project
Execute program
"Hello World" erscheint
File New Qt4 Widget (.ui) Qt4-Designer startet
pushButton drauf
Clicked()-Signal vom Button dem Close()-Slot der Form zuweisen
Abspeichern
Run automake & friends
Run configure
Build project
uic: File generated with too recent version of Qt Designer (4.0 vs. 3.3.7)

Ich kenne leider keinen anderen Weg, wie ich vorgehen könnte. Ich möchte auch keine komplette Lösung vorgekaut habe; am liebsten wäre es mir, wenn ich meine Erfahrungen selber mache. Daher wäre es schön, wenn mir jemand hier im Forum einen Tip gibt, wo ich weiter suchen oder weiter schrauben kann, damit ich mein Ziel erreichen kann.


Konfuzius

Lernen durch Nachahmung ist der einfachste Weg.
Lernen durch Nachdenken ist der edelste Weg.
Lernen durch Erfahrung ist manchmal der bitterste Weg.

Verfasst: 24. Oktober 2007 15:06
von Christian81
Aber ich habe es doch nun schon gesagt was los ist... eine KDE-Application ist *immer* eine Qt3-Application! Du musst 'Basic Qt4 Application (QMake project) (2) ' benutzen!

Verfasst: 24. Oktober 2007 15:12
von Frau Kuchen
Christian81 hat geschrieben:Aber ich habe es doch nun schon gesagt was los ist... eine KDE-Application ist *immer* eine Qt3-Application! Du musst 'Basic Qt4 Application (QMake project) (2) ' benutzen!
Sorry, das war mir nicht klar.

Danke.

Verfasst: 24. Oktober 2007 22:53
von Frau Kuchen
Christian81 hat geschrieben:Aber ich habe es doch nun schon gesagt was los ist... eine KDE-Application ist *immer* eine Qt3-Application! Du musst 'Basic Qt4 Application (QMake project) (2) ' benutzen!
So, ich habe jetzt mal als Grundlage nicht eine "Basic Qt4 Application" sondern eine "Qt4 Application" genommen.

Unter FORMS eine neue Datei angelegt (Qt4 Widget),
PushButton auf die Form drauf
Clicked()-Signal vom Button dem Close()-Slot der Form zugewiesen
Abspeichern
Original qt4_application.cpp und qt4_application.h gelöscht
Subclassing Wizzard aufrufen
Klasse von mein_qt4_widget.ui ableiten
Abspeichern
Build project
Execute program
Mein Qt4-Dialog erscheint

Wahr gar nicht so schwer, nur der Knoten in meinem Kopf war ein Hindernis

Danke für deine Mühe,

Frau Kuchen

Verfasst: 25. Oktober 2007 12:21
von Frau Kuchen
Eine Frage habe ich noch...

Ist es möglich, mit einer KDE4 Vorlage Qt4 Programme zu schreiben?


Beste Grüße,

Frau Kuchen

Verfasst: 25. Oktober 2007 12:21
von Christian81
Ja, da KDE4 auf Qt4 aufsetzt ist das natürlich möglich.