Kompilieren von Qt4 Dateien

Alles rund um die Programmierung mit Qt
Antworten
carmel
Beiträge: 6
Registriert: 11. August 2008 18:33

Kompilieren von Qt4 Dateien

Beitrag von carmel »

Hallo,

ich versuche jetzt schon einige Zeit ein Programm in Qt4 zu übersetzen.
Ich hatte mit dem Qt4 Designer ein Fenster erstellt, dass auch gut kompilierte. Danach habe ich noch einige Widgets zu diesem Fenster hinzugefügt und jetzt bekomme ich beim kompilieren folgende Fehlerausgabe
marcel@c23:~/Documents/HiWi_ROOT/QLabFitter> make
/usr/bin/uic-qt4 src/MainDlg.ui -o ui_MainDlg.h
'verticalSpacer_2' isn't a valid widget
'horizontalSpacer_4' isn't a valid widget
'verticalSpacer_3' isn't a valid widget
g++ -c -pipe -O2 -Wall -W -D_REENTRANT `root-config --libs --glibs --cflags ` -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -Isrc -I. -I. -o qlabfitter.o src/qlabfitter.cpp
src/qlabfitter.cpp: In constructor »QLabFitter::QLabFitter(QWidget*)«:
src/qlabfitter.cpp:51: Fehler: »class Ui::MainDlg« hat kein Element namens »drawButtonImport«
make: *** [qlabfitter.o] Fehler 1
Das Makefile habe ich vorher per qmake -project, qmake erzeugt und dann von Hand spezielle in meinem Programm benötigte Bibliotheken eingebaut.
Hat jemand ne Idee, an was das liegen könnte? Wie gesagt ich versuch das schon seit Stunden zu lösen und bin langsam am verzweifeln damit.
Ich verwende kdevelop als Entwicklungsumgebung und habe die version 4.4.0 von Qt, die bei Ubuntu Hardy in den Repositories enthalten ist.

Viele Grüße
Marcel
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Dein ui-File scheint defekt zu sein. Ich würde das mal überprüfen.
carmel
Beiträge: 6
Registriert: 11. August 2008 18:33

Beitrag von carmel »

Code: Alles auswählen

        <item row="3" column="0" >
         <spacer name="verticalSpacer_2" >
          <property name="orientation" >
           <enum>Qt::Vertical</enum>
          </property>
          <property name="sizeHint" stdset="0" >
           <size>
            <width>20</width>
            <height>43</height>
           </size>
          </property>
         </spacer>
        </item>
Das ist der Teil im .ui file, wo der verticalSpacer_2 definiert wird. Der sieht allerdings genauso aus, wie bei anderen Spacern, die in dem file definiert werden. Ich erkenne da auch keinen Fehler.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Die anderen Spacer werden ja auch angemeckert... Stell doch bitte das gesamte ui-File zum download bereit, dann tut man sich etwas leichter.
carmel
Beiträge: 6
Registriert: 11. August 2008 18:33

Beitrag von carmel »

ich hab den code des .ui files mal online gestellt:

http://paste.ubuntuusers.de/391325/
carmel
Beiträge: 6
Registriert: 11. August 2008 18:33

Beitrag von carmel »

Ah, was mir grade noch einfällt und vielleicht wichtig sein könnte: Ich versuche das Projekt mit qmake-qt4 -project, qmake-qt4, make zu kompilieren.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Ich bekomme diese Meldungen nicht, aber ich würde mal die Fehlermeldung:
src/qlabfitter.cpp:51: Fehler: »class Ui::MainDlg« hat kein Element namens »drawButtonImport«
beseitigen und dann weitersehen.
carmel
Beiträge: 6
Registriert: 11. August 2008 18:33

Beitrag von carmel »

Mmh, hab jetzt mal ein make clean gemacht und nach erneutem kompilieren sind zumindest die Fehler mit den Spacern verschwunden. Warum auch immer...
Allerdings ist der Fehler, dass er den DrawImportButton nicht findet geblieben.
marcel@c23:~/Documents/HiWi_ROOT/QLabFitter> make
g++ -c -pipe -O2 -Wall -W -D_REENTRANT `root-config --cflags` -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -Isrc -I. -I. -o qlabfitter.o src/qlabfitter.cpp
src/qlabfitter.cpp: In constructor »QLabFitter::QLabFitter(QWidget*)«:
src/qlabfitter.cpp:51: Fehler: »class Ui::MainDlg« hat kein Element namens »DrawImportButton«
make: *** [qlabfitter.o] Fehler 1
Zur Fehlersuche hab ich auch mal noch die qlabfitter.cpp hochgeladen.
http://paste.ubuntuusers.de/391326/
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Im ui-File ist drawButtonImport auch nicht definiert...
carmel
Beiträge: 6
Registriert: 11. August 2008 18:33

Beitrag von carmel »

mmh, okay. Hab den Fehler gefunden.
Es existierte die ganze Zeit noch ne alte Version der ui_MainDlg.h, die er beim kompilieren verwendete statt der neu erzeugten.
Deshalb funktionierten auch nur die neu hinzugefügten Widgets nicht und die alten wurden wunderbar eingebunden.

Vielen Dank für die Hilfe!
Antworten