Seite 1 von 1

Kompilieren von Qt4 Dateien

Verfasst: 12. August 2008 11:02
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

Verfasst: 12. August 2008 11:33
von upsala
Dein ui-File scheint defekt zu sein. Ich würde das mal überprüfen.

Verfasst: 12. August 2008 12:19
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.

Verfasst: 12. August 2008 12:37
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.

Verfasst: 12. August 2008 14:19
von carmel
ich hab den code des .ui files mal online gestellt:

http://paste.ubuntuusers.de/391325/

Verfasst: 12. August 2008 14:21
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.

Verfasst: 12. August 2008 14:42
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.

Verfasst: 12. August 2008 14:44
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/

Verfasst: 12. August 2008 15:22
von upsala
Im ui-File ist drawButtonImport auch nicht definiert...

Verfasst: 12. August 2008 15:29
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!