Fehler beim Compilieren (Bei einer Class)
Verfasst: 9. Mai 2007 13:36
Also ich hab hier ein großes prob.
Erstmal habe ich es endlich geschafft Qt in Eclipse zu bringen.
Dank an das Froum dafür^^
So nun wollte ich mal schnell das Qt Tutorial (http://doc.trolltech.com/4.1/tutorial-t4.html) durchlaufen, damit ich die Sprache mal eben abchecken kann in bezug auf die Syntax.
Mir ist das Programmieren in Java und auch mit OOP geläufig.
In C++ hab ich nen Schnelldurchlauf gemacht.
Alles bis auf die Pointer gut verstanden, keine Angst die schau ich mir nochmal an
.
Aber nun zum eigendlich prob,
in dem Tutorial bin ich am Punkt angekommen, wo einem die Erstellung eigener Klassen mit samt Konstruktor und das erstellen von Objekten erklärt wird.
Das ist ja schön, dachte ich.
Aber als ich das vorgegebene Projekt einfach kompilieren wollte, spuckte er mir zwei Erorrs aus...
Naja normalerweise würde mir Eclispe ja die Fehler anzeigen indem er sie unterstreicht.
Nur leider unterstreicht er mir nichts.
Entweder das Highlighting ist nicht gegeben in der QT /C++ Sprache unter Eclpise oder der Fehler liegt woanders.
Somit hier mal mein Quellcode:
Und hier die Consolenmeldung:
PS:
Ist es irgendwie möglich etwas aussagekräftigere Fehlermeldungen von qmake zu bekommen?
Und weiß jemand eine Lösung wie ich eventuell von qmake auf cmale umstelle?
Erstmal habe ich es endlich geschafft Qt in Eclipse zu bringen.
Dank an das Froum dafür^^
So nun wollte ich mal schnell das Qt Tutorial (http://doc.trolltech.com/4.1/tutorial-t4.html) durchlaufen, damit ich die Sprache mal eben abchecken kann in bezug auf die Syntax.
Mir ist das Programmieren in Java und auch mit OOP geläufig.
In C++ hab ich nen Schnelldurchlauf gemacht.
Alles bis auf die Pointer gut verstanden, keine Angst die schau ich mir nochmal an
Aber nun zum eigendlich prob,
in dem Tutorial bin ich am Punkt angekommen, wo einem die Erstellung eigener Klassen mit samt Konstruktor und das erstellen von Objekten erklärt wird.
Das ist ja schön, dachte ich.
Aber als ich das vorgegebene Projekt einfach kompilieren wollte, spuckte er mir zwei Erorrs aus...
Naja normalerweise würde mir Eclispe ja die Fehler anzeigen indem er sie unterstreicht.
Nur leider unterstreicht er mir nichts.
Entweder das Highlighting ist nicht gegeben in der QT /C++ Sprache unter Eclpise oder der Fehler liegt woanders.
Somit hier mal mein Quellcode:
Code: Alles auswählen
#include <QApplication>
#include <QFont>
#include <QPushButton>
#include <QWidget>
class MyWidget : public QWidget
{
public:
MyWidget(QWidget *parent = 0);
};
MyWidget::MyWidget(QWidget *parent)
: QWidget(parent)
{
setFixedSize(200, 120);
QPushButton *quit = new QPushButton(tr("Quit"), this);
quit->setGeometry(62, 40, 75, 30);
quit->setFont(QFont("Times", 18, QFont::Bold));
connect(quit, SIGNAL(clicked()), qApp, SLOT(quit()));
}
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
MyWidget widget;
widget.show();
return app.exec();
}
Code: Alles auswählen
C:\MinGW\bin\mingw32-make.exe clean release
C:/MinGW/bin/mingw32-make.exe -f Makefile.Debug clean
mingw32-make.exe[1]: Entering directory `C:/Dokumente und Einstellungen/Christoph/Java Programme/TutorialQT2'
del qmake_image_collection.cpp
C:\Dokumente und Einstellungen\Christoph\Java Programme\TutorialQT2\qmake_image_collection.cpp konnte nicht gefunden werden
del debug\main.o
C:\Dokumente und Einstellungen\Christoph\Java Programme\TutorialQT2\debug\main.o konnte nicht gefunden werden
mingw32-make.exe[1]: Leaving directory `C:/Dokumente und Einstellungen/Christoph/Java Programme/TutorialQT2'
C:/MinGW/bin/mingw32-make.exe -f Makefile.Release clean
mingw32-make.exe[1]: Entering directory `C:/Dokumente und Einstellungen/Christoph/Java Programme/TutorialQT2'
del qmake_image_collection.cpp
C:\Dokumente und Einstellungen\Christoph\Java Programme\TutorialQT2\qmake_image_collection.cpp konnte nicht gefunden werden
del release\main.o
C:\Dokumente und Einstellungen\Christoph\Java Programme\TutorialQT2\release\main.o konnte nicht gefunden werden
mingw32-make.exe[1]: Leaving directory `C:/Dokumente und Einstellungen/Christoph/Java Programme/TutorialQT2'
C:/MinGW/bin/mingw32-make.exe -f Makefile.Release
mingw32-make.exe[1]: Entering directory `C:/Dokumente und Einstellungen/Christoph/Java Programme/TutorialQT2'
g++ -c -O2 -O2 -frtti -fexceptions -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"C:/Qt/4.2.3/include/QtCore" -I"C:/Qt/4.2.3/include/QtCore" -I"C:/Qt/4.2.3/include/QtGui" -I"C:/Qt/4.2.3/include/QtGui" -I"C:/Qt/4.2.3/include" -I"." -I"C:/Qt/4.2.3/include/ActiveQt" -I"release" -I"." -I"..\..\..\..\Qt\4.2.3\mkspecs\default" -o release\main.o main.cpp
main.cpp:30:6: warning: no newline at end of file
g++ -mthreads -Wl,-enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-s -Wl,-s -Wl,-subsystem,windows -o "release\TutorialQT2.exe" release\main.o -L"c:\Qt\4.2.3\lib" -lmingw32 -lqtmain -lQtGui -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lmsimg32 -lQtCore -lkernel32 -luser32 -lshell32 -luuid -lole32 -ladvapi32 -lws2_32
c:\Qt\4.2.3\lib/libQtGui.a(qwidget.o)(.rdata$_ZTI7QWidget+0x0):qwidget.cpp: multiple definition of `typeinfo for QWidget'
release\main.o(.data$_ZTI7QWidget+0x0):main.cpp: first defined here
c:\Qt\4.2.3\lib/libQtGui.a(qwidget.o)(.rdata$_ZTS7QWidget+0x0):qwidget.cpp: multiple definition of `typeinfo name for QWidget'
release\main.o(.text$_ZTS7QWidget+0x0):main.cpp: first defined here
c:\Qt\4.2.3\lib/libQtGui.a(qwidget.o)(.rdata$_ZTI7QObject+0x0):qwidget.cpp: multiple definition of `typeinfo for QObject'
release\main.o(.data$_ZTI7QObject+0x0):main.cpp: first defined here
c:\Qt\4.2.3\lib/libQtGui.a(qwidget.o)(.rdata$_ZTI12QPaintDevice+0x0):qwidget.cpp: multiple definition of `typeinfo for QPaintDevice'
release\main.o(.data$_ZTI12QPaintDevice+0x0):main.cpp: first defined here
c:\Qt\4.2.3\lib/libQtGui.a(qwidget.o)(.rdata$_ZTS12QPaintDevice+0x0):qwidget.cpp: multiple definition of `typeinfo name for QPaintDevice'
release\main.o(.text$_ZTS12QPaintDevice+0x0):main.cpp: first defined here
c:\Qt\4.2.3\lib/libQtGui.a(qwidget.o)(.rdata$_ZTS7QObject+0x0):qwidget.cpp: multiple definition of `typeinfo name for QObject'
release\main.o(.text$_ZTS7QObject+0x0):main.cpp: first defined here
mingw32-make.exe[1]: *** [release\TutorialQT2.exe] Error 1
mingw32-make.exe[1]: Leaving directory `C:/Dokumente und Einstellungen/Christoph/Java Programme/TutorialQT2'
C:\MinGW\bin\mingw32-make.exe: *** [release] Error 2
Ist es irgendwie möglich etwas aussagekräftigere Fehlermeldungen von qmake zu bekommen?
Und weiß jemand eine Lösung wie ich eventuell von qmake auf cmale umstelle?