Eclipse & Qt - Binary not found
-
Ich versuche schon länger Eclipse mit CDT und Qt zum laufen zu bekommen, bisher ohne Erfolg. Natürlich bin ich auch schon lange am Hilfesuchen und habe hier und da gelesen, dass QT mit der neusten Eclipse und CDT Version nicht funktioniert, wovon ich aber nicht überzeugt bin, da es bei manchen doch zu gehen scheint.
Also ich habe jetzt Eclipse 3.5, das CDT über den Update-Manager von Eclipse installiert; MinGW 5.6.1 Compiler & Debugger, Qt version 2010.01 und natürlich die Eclipse Qt Integration. Wenn ich ein normales C/C++ Projekt erstelle, dann lässt sich das ganz normal builden und starten.
Wenn ich versuche eine Qt Gui Anwendung zu builden passiert garnichts, außer dass in der Infoleiste unten ~0.5sec "Building Workspace" erscheint. Beim Versuch das Programm zu starten kommt dann immer "Launch failed. Binary not found."
Gehe ich über das Projekt mit Rechtsklick->Make Targets und mache Qt Release & Qt Debug Build dann bekomme ich folgende Meldungen (Das Gui wurde nach dem Erstellen noch nicht verändert):mingw32-make debug
mingw32-make -f Makefile.Debug
mingw32-make[1]: Entering directoryG:/C++ Programming/Eclipse Workspace/AddressList' g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mthreads -Wl -Wl,-subsystem,windows -o debug\\AddressList.exe debug/main.o debug/addresslist.o debug/moc_addresslist.o -L"c:\\Programme\\C++\\Qt2010.01\\qt\\lib" -lmingw32 -lqtmaind -lQtGuid4 -lQtCored4 c:\\Programme\\C++\\Qt2010.01\\qt\\lib/libqtmaind.a(qtmain_win.o): In function
WinMain@16':
C:\qt-greenhouse\Trolltech\Code_less_create_more\Trolltech\Code_less_create_more\Troll\4.6\qt\src\winmain/qtmain_win.cpp:93: undefined reference to\_Unwind_Resume' C:\\qt-greenhouse\\Trolltech\\Code\_less\_create\_more\\Trolltech\\Code\_less\_create\_more\\Troll\\4.6\\qt\\src\\winmain/qtmain\_win.cpp:135: undefined reference to
_Unwind_Resume'
c:\Programme\C++\Qt2010.01\qt\lib/libqtmaind.a(qtmain_win.o):C:\qt-greenhouse\Trolltech\Code_less_create_more\Trolltech\Code_less_create_more\Troll\4.6\qt\src\winmain/../../include/QtCore/../../src/corelib/tools/qvector.h:482: undefined reference to\_Unwind_Resume' mingw32-make[1]: Leaving directory
G:/C++ Programming/Eclipse Workspace/AddressList'
c:\Programme\C++\Qt2010.01\qt\lib/libqtmaind.a(qtmain_win.o):C:\qt-greenhouse\Trolltech\Code_less_create_more\Trolltech\Code_less_create_more\Troll\4.6\qt\src\winmain/../../include/QtCore/../../src/corelib/tools/qvector.h:483: undefined reference to\_Unwind_Resume' c:\\Programme\\C++\\Qt2010.01\\qt\\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\AddressList.exe] Error 1
mingw32-make: *** [debug] Error 2Bin auch gerne bereit Screen Captures von irgendwelchen Einstellungen zu machen und hochzuladen, falls das denn hilft. Ein Capture von der gesamten Installation habe ich schon, also falls es helfen würde, kann ich es hochladen.
Würde wirklich gerne Eclipse weiterbenutzen, da ich mich schon etwas länger mit Java an das IDE gewöhnt habe, und es doch sehr komfortabel finde.
Hoffe es gibt dazu mittlerweile eine Lösung.
-
Dieser Thread wurde von Moderator/in evilissimo aus dem Forum C++ in das Forum Compiler- und IDE-Forum verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Hmm.. ich habe noch ein wenig herumgesucht und gelesen dass Qt ein Problem mit dem neusten MinGW hat, weil es mit einer älteren Version kompiliert wurde.
Habe nun nochmals die in Qt integrierte Version von MinGW installiert und die Version 5.6.1 gelöscht.
Wenn ich nun unter Run Configurations als Debugger 'Cygwin gdb Debugger' auswähle, geht aufeinmal alles.
Wenn ich versuche den 'MinGW gdb Debugger' auszuwählen, dann wird einerseits die Einstellung nicht übernommen und andererseits schmeißt mir Eclipse danach jedes mal wenn ich die Run Configurations aufmache eine NullPointer Exception entgegen(??).Da ich gerade erst anfange mich in C++ einzuarbeiten, habe ich noch so gut wie übnerhaupt keine Ahnung was ich da überhaupt mache. Frage mich, was genau es mir jetzt gebracht hat MinGW zu installieren, wenn ich nun Cygwin benutzen muss. Oder wird dann Cygwin nur als Debugger und MinGW als Compiler benutzt? Kann jedoch nirgends auswählen welchen Compiler ich benutzen will?
______
So nun kann ich Programme zwar von Eclipse aus starten, aber wenn ich ich den Debug Ordner gehe und die Exe vom Explorer aus starte, bekomme ich immer Meldungen, dass mir irgendwelche Dlls fehlen, z.B. mingwm10.dll.
Selbst bei einer C++ Konsolenanwendung in Form von 'Hello World' bekomme ich eine die Meldung dass "libgcc_s_dw2-1.dll" fehlt.Nach etwas Suchen habe ich gefunden, dass man den Ordner in der die dlls sind in die Path Variable einfügen soll, damit sie gefunden werden können. Ich kann jetzt zwar die dlls in der Windows suche ausfindig machen und die Path Variable erweitern, aber..
Es kann doch nicht sein, dass ich nun für jedes Programm was ich schreibe irgendeine dll ausfindig machen muss. Es muss doch möglich sein solche Probleme beim Kompilieren aus dem Weg zu räumen?
Immerhin gibt es unzähbar viele Freeware etc. Anwendungen die aus einer einzigen .exe bestehen und die ohne Installation sofort laufen, ohne dass man für jedes Programm eine dll in den PATH schreiben muss.
Gibt es villeicht dll-Packages die man beim Kompilieren in die .exe mit hinein packt?Was ich mich auch noch frage: Kompiliere ich überhaupt das Programm, wenn ich in Eclipse das Projekt 'builde' und dann auf Run drücke? Wenn nicht, wie Kompiliere ich dann mit Eclipse?
..man mekrt wahrscheinlich, dass ich nicht allzuviel Ahnung habe
Bei C++ kommt mir das alles so extrem chaotisch vor; Etliche Compiler/Debugger/Bibliotheken für GUIs, die sich dann auchnoch gegenseitig wegen ihrer Versionen in die Quere kommen (was mich bei einer derart verbreiteten Sprache doch sehr wundert..). Und beim Ausführen eines kompilierten(?) Programms, muss man sich noch mit dlls rumschlagen?
Bei Java installiert man das JDK, compiliert seine Programme mit ein paar klicks, packt alles in eine .jar und kann diese überall ausführen, solange man das JRE installiert hat, wenns nur immer so einfach wäre.
_________________________________(Offtopic; Wieso ist es eigentlich immer so schwer an Grundlagenwissen zu kommen? Ich suche mal wieder Tage nur um überhaupt mal anfangen zu können meine ersten paar Zeilen zu schreiben. Manchmal findet man zu bestimmten Fragen rein garnichts, manchmal etliche Informationen, die dann aber alle davon ausgehen, dass man sowieso schon weiss wie alles funktioniert. Anfänger-freundliche Informationen - Fehlanzeige
)
Hoffe mir kann geholfen werden.
-
Hi Shiwa,
Ich hatte das gleiche Problem... Ich denke mal der Eclipse setzt beim Ausführen Umgebungsvariablen, über die dann die ddls geladen werden, wenn du das Programm unter Windows ausführst, dann werden diese nicht automatisch gesetzt.Kopiere einfach von <QT Installations Pfad>\mingw\bin
die libgcc_s_dw2-1.dll und die mingwm10.dllsowie aus dem <QT Installations Pfad>\qt\bin
die QtCored4.dll sowie die QtGuid4.dllin das Verzeichnis in dem sich die .exe befindet.
Gruß Timo
PS: wer eine Idee hat, wie man das Problem besser lösen kann bitte posten...
-
I just encountered the same problem as the first poster.
What resolved it for me was to ensure that the MinGW used in eclipse build is the same as used for the Qt.
I used the most current Qt SDK and installed the MinGW contained within, then made a batch file for setting the PATH to point to just that MinGW/bin and to system32. Running eclipse with that PATH resulted in succesful build.
set PATH=C:\Qt\2010.02.1\mingw\bin; set PATH=%PATH%;%SystemRoot%\System32 call "C:\eclipse\eclipse.exe"
-
Shiwa schrieb:
Ich versuche schon länger Eclipse mit CDT und Qt zum laufen zu bekommen, bisher ohne Erfolg. Natürlich bin ich auch schon lange am Hilfesuchen und habe hier und da gelesen, dass QT mit der neusten Eclipse und CDT Version nicht funktioniert, wovon ich aber nicht überzeugt bin, da es bei manchen doch zu gehen scheint.
Also ich habe jetzt Eclipse 3.5, das CDT über den Update-Manager von Eclipse installiert; MinGW 5.6.1 Compiler & Debugger, Qt version 2010.01 und natürlich die Eclipse Qt Integration. Wenn ich ein normales C/C++ Projekt erstelle, dann lässt sich das ganz normal builden und starten.
Wenn ich versuche eine Qt Gui Anwendung zu builden passiert garnichts, außer dass in der Infoleiste unten ~0.5sec "Building Workspace" erscheint. Beim Versuch das Programm zu starten kommt dann immer "Launch failed. Binary not found."
Gehe ich über das Projekt mit Rechtsklick->Make Targets und mache Qt Release & Qt Debug Build dann bekomme ich folgende Meldungen (Das Gui wurde nach dem Erstellen noch nicht verändert):mingw32-make debug
mingw32-make -f Makefile.Debug
mingw32-make[1]: Entering directoryG:/C++ Programming/Eclipse Workspace/AddressList' g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mthreads -Wl -Wl,-subsystem,windows -o debug\\AddressList.exe debug/main.o debug/addresslist.o debug/moc_addresslist.o -L"c:\\Programme\\C++\\Qt2010.01\\qt\\lib" -lmingw32 -lqtmaind -lQtGuid4 -lQtCored4 c:\\Programme\\C++\\Qt2010.01\\qt\\lib/libqtmaind.a(qtmain_win.o): In function
WinMain@16':
C:\qt-greenhouse\Trolltech\Code_less_create_more\Trolltech\Code_less_create_more\Troll\4.6\qt\src\winmain/qtmain_win.cpp:93: undefined reference to\_Unwind_Resume' C:\\qt-greenhouse\\Trolltech\\Code\_less\_create\_more\\Trolltech\\Code\_less\_create\_more\\Troll\\4.6\\qt\\src\\winmain/qtmain\_win.cpp:135: undefined reference to
_Unwind_Resume'
c:\Programme\C++\Qt2010.01\qt\lib/libqtmaind.a(qtmain_win.o):C:\qt-greenhouse\Trolltech\Code_less_create_more\Trolltech\Code_less_create_more\Troll\4.6\qt\src\winmain/../../include/QtCore/../../src/corelib/tools/qvector.h:482: undefined reference to\_Unwind_Resume' mingw32-make[1]: Leaving directory
G:/C++ Programming/Eclipse Workspace/AddressList'
c:\Programme\C++\Qt2010.01\qt\lib/libqtmaind.a(qtmain_win.o):C:\qt-greenhouse\Trolltech\Code_less_create_more\Trolltech\Code_less_create_more\Troll\4.6\qt\src\winmain/../../include/QtCore/../../src/corelib/tools/qvector.h:483: undefined reference to\_Unwind_Resume' c:\\Programme\\C++\\Qt2010.01\\qt\\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\AddressList.exe] Error 1
mingw32-make: *** [debug] Error 2Bin auch gerne bereit Screen Captures von irgendwelchen Einstellungen zu machen und hochzuladen, falls das denn hilft. Ein Capture von der gesamten Installation habe ich schon, also falls es helfen würde, kann ich es hochladen.
Würde wirklich gerne Eclipse weiterbenutzen, da ich mich schon etwas länger mit Java an das IDE gewöhnt habe, und es doch sehr komfortabel finde.
Hoffe es gibt dazu mittlerweile eine Lösung.