MinGW && Qt C++ 

Status
Für weitere Antworten geschlossen.

Chaosbohne

Registered +
Registriert
Juli 2007
Beiträge
352
Servus

Ich will bei mir Qt zum laufen bringen, jedoch bekomme ich immer diesen Fehler:
mingw32-make -f Makefile.Debug
mingw32-make[1]: Entering directory `D:/Uni/'
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mthreads -Wl -Wl,-subsystem,windows -o debug\Qt.exe debug/main.o -L
"c:\Qt\4.6.3\lib" -lmingw32 -lqtmaind -lQtGuid4 -lQtCored4
c:\Qt\4.6.3\lib/libqtmaind.a(qtmain_win.o): In function `WinMain@16':
C:\iwmake\build_mingw_opensource\src\winmain/qtmain_win.cpp:93: undefined reference to `_Unwind_Resume'
C:\iwmake\build_mingw_opensource\src\winmain/qtmain_win.cpp:135: undefined reference to `_Unwind_Resume'
c:\Qt\4.6.3\lib/libqtmaind.a(qtmain_win.o):C:\iwmake\build_mingw_opensource\src\winmain/../../include/QtCore/../../src/corelib/tools/qvector.h:482: unde
fined reference to `_Unwind_Resume'
c:\Qt\4.6.3\lib/libqtmaind.a(qtmain_win.o):C:\iwmake\build_mingw_opensource\src\winmain/../../include/QtCore/../../src/corelib/tools/qvector.h:483: unde
fined reference to `_Unwind_Resume'
c:\Qt\4.6.3\lib/libqtmaind.a(qtmain_win.o):qtmain_win.cpp:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
mingw32-make[1]: *** [debug\Qt.exe] Error 1
mingw32-make[1]: Leaving directory `D:/Uni/'
mingw32-make: *** [debug] Error 2

Also ich hab MinGW 5.1.6 ( neuste Version):
File Manager - SourceForge Downloads

Dann hab ich mir Qt 4.6.3 geladen( Qt libraries 4.6.3 for Windows ( also nur den Framework):
Downloads — Qt - A cross-platform application and UI framework


So dann hab ich noch die Umgebungsvariablen gesetzt und zwar so wie sie hier beschrieben sind:
Stefans Webseite - Wiki: Qt installieren

Also ich hab in Path den Eintrag C:\MinGW\bin;C:\Qt\4.6.3\bin ergänzt-
Dann QTDIR mit C:\Qt\4.6.3\ und QTMAKESPEC win32-g++.

Als Betriebssystem nutz ich Win 7 64.

So und jetzt funktioniert es dennoch nicht, ich weiß absolut nicht was ich machen soll, ich hab zwar schon gegoogelt aber so richtig ne Lösung die man auch versteht hab ich noch nicht gefunden.

Ich hoffe es liest sich mal jemand durch.

mfg. Chaosbohne
 
Also wenn ich nach
qtmain_win.cpp:93: undefined reference to `_Unwind_Resume'
google, kommen haufenweise Ergebnisse.
Haste die ganzen Loesungsvorschlaege schon ausprobiert?
Viele sagen man soll Qt selbst kompilieren.
 
Ja ich hab schon gegoogelt aber irgendwie komm ich dennoch nicht zurecht.
Das man Qt selbst kompilieren soll, hab ich auch schon gelesen aber ich kann damit nix anfangen. Ich weiß wie ich mein C++ oder C-File kompiliere aber Qt?
Das weiß ich leider nicht.

mfg. Chaosbohne
 
Liefert Qt auch nen mingw Compiler mit? Falls ja, dann fueg den Pfad dazu mal zur Path Variable hinzu (falls er anders ist als C:\Qt\4.6.3\bin) und nimm mal C:\MinGW\bin raus.
 
Nein, da ich ja nur die Libs installiert habe.
Hab jetzt gerade mal die SDK installiert, in denen ein MinGW mitgeliefert wird. Ich hab dort jetzt die Umgebungsvariablen neu gesetzt und zwar auf:
C:\Qt\2010.04\mingw\bin;
C:\Qt\2010.04\bin

aber jetzt kann ich noch nichteinmalmehr in der Konsole qmake eingeben, da kommt die Meldung, dass er den Befehl nicht kennt.

Edit: g++ bzw. gcc funktionieren jedoch einwandfrei.

mfg. Chaosbohne

Es gibt Neuigkeiten.
Ich hab heute mal den MinGW und die Qt Libraries auf einem neu aufgesetzten Win7 System laufen lassen aber das Ergebnis blieb gleich, nix ging.

Ich hab durch Zufall im Qt Ordner mal die Anwendung "Build Debug Libraries" ausgeführt, das lief jetzt ein paar Stunden und jetzt kann ich das Programm auch ohne Fehler compilieren.

Code war:

Code:
#include 
#include 

int main(int argc, char *argv[])
{
QApplication app(argc, argv);

QPushButton hello("Hello world!");
hello.resize(100, 30);

hello.show();
return app.exec();
}

Compiliert habe ich das mit:
qmake -project
qmake
make

Jetzt befindet sich das Ergebnis aber nicht im Releaseordner sondern im Debugordner. Hat das irgendwelche Konsequenzen? Oder kann ich davon ausgehen, dass jetzt alles einwandfrei funktioniert? Wo ist der Unterschied zwischen Release- und Debugordner?

mfg. Chaosbohne

Edit: Sorry Doppelpost :(
 
Zuletzt bearbeitet von einem Moderator:
Jetzt befindet sich das Ergebnis aber nicht im Releaseordner sondern im Debugordner. Hat das irgendwelche Konsequenzen? Oder kann ich davon ausgehen, dass jetzt alles einwandfrei funktioniert? Wo ist der Unterschied zwischen Release- und Debugordner?

Ich würde vermuten das es, wenn es eine Anwendung namens "Build Debug Libraries" gibt, auch eine Anwendung gibt die "Build Release Libraries" heißt?

Der Unterschied liegt meist in der Optimierung des codes durch den compiler und linker, sowie debug funktionalitäten die in einer Master / Release Version nichts verloren haben (Wie z.B. profiler, ggf. Debugausgaben in der Konsole, spezielle system logs etc).
Wenn du die library files des debug und release builds vergleichst wirst du sehen das die Release versionen wensentlich kleiner sind. Die Release builds laufen idr. auch schneller als die Debug versionen. Meistens hast du in den Release versionen auch weniger Möglichkeiten mit dem Debugger durch einzelne Programmzeilen zu steppen (abhängig von den build settings)
 
Ah Ok.

Die Anwendung Build Release Libraries oder eine ähnlich klingende Beschreibung einer Anwendung gibts leider nicht. Da muss ich wohl damit leben, dass der meine Ergebnisse prinzipiell in den Debug-Ordner wirft.

Wie bzw. mit was programmiert ihr denn graphische Oberflächen in Windows mit C++?
(also WinApi, Qt etc. )

mfg. Chaosbohne
 
Die Anwendung Build Release Libraries oder eine ähnlich klingende Beschreibung einer Anwendung gibts leider nicht. Da muss ich wohl damit leben, dass der meine Ergebnisse prinzipiell in den Debug-Ordner wirft.
MAn kann sich auch eigene Targets erstellen, da kannst du das Ausgabeverzeichnis angeben und optimierunen vornehmen und dir so eigene Release Builds erstellen, aber dafür wirst du dich etwas mehr mit der IDE auseinandersetzen müssen, da kann ich dir nicht helfen :)

Wie bzw. mit was programmiert ihr denn graphische Oberflächen in Windows mit C++?
(also WinApi, Qt etc. )
Für kleine Tools benutze ich idr. QT wenn es sich nicht um kommerzielle Projekte handelt... Sonst die mfc oder WinApi. Aber meistens brauch ich garkeine GUI :)
 
Ok danke Zerd.

Ich hab mir jetzt mal nen Schinken zu Qt aus der Bibo geholt, welchen ich mir mal durchlesen werde und wenn ich nicht weiterkomme dann mach ich nochmal einen neuen Fred auf.
Leider stand in dem Buch auch nix konkreteres über die Sache mit dem Debug bzw. Releaseordner.

-Closed-
mfg. Chaosbohne
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben Unten