wxWidgets Installationsproblem



  • DarkBug schrieb:

    Danke, kannst du mir auch noch meine andere Frage beantworten?

    Noch eine Frage zum Kompilieren. In der Dokumentation von wxWidgets steht, dass ein Programm mit folgenden Parametern kompiliert werden muss:

    g++ hworld.cpp `wx-config --libs` `wx-config --cxxflags` -o hworld

    Macht Code::Blocks das automatisch, wenn das Projekt unter Code::Blocks als wxWidgets project angelegt wurde?

    Sorry, hab gar nicht mehr dran gedacht. Ja, das wird automatisch gemacht.



  • Besten Dank. Habe mir mal das TDM-GCC Packet installiert und mir den Ordnerinhalt vom MinGW sowie dem TDM-GCC Packet mal genauer angeschaut (bin Verzeichnis). Was mich irritiert hat. In beiden Verzeichnissen befinden sich zwei exen eines Compilers. Beispiel G++: Sowohl im MinGW (http://www.mingw.org/) als auch im MinGW32 (http://tdm-gcc.tdragon.net/) Verzeichnis befinden sich zum einen eine g++.exe und zum anderen eine mingw32-g++.exe. Mithilfe eines MD5-Checks habe ich herausgefunden, dass alle vier exen einen anderen MD5-Hash haben. Wieso sind in jedem Verzeichnis 2 exen und wo liegt der Unterschied bei allen?

    Source Homepage	Verzeichnisname	Compiler	Applikationstyp	kompilierbar?
    
    http://www.mingw.org/	    MinGW  g++.exe	                Konsole   Ja
    http://www.mingw.org/	    MinGW  g++.exe	                wxWidgets Ja
    http://www.mingw.org/	    MinGW  mingw32-g++.exe            Konsole   Ja
    http://www.mingw.org/	    MinGW  mingw32-g++.exe            wxWidgets Ja
    http://tdm-gcc.tdragon.net/ MinGW32 g++.exe	                Konsole   Ja
    http://tdm-gcc.tdragon.net/ MinGW32 g++.exe	                wxWidgets Nein
    http://tdm-gcc.tdragon.net/ MinGW32 mingw32-g++.exe            Konsole   Ja
    http://tdm-gcc.tdragon.net/ MinGW32 mingw32-g++.exe            wxWidgets Nein
    http://tdm-gcc.tdragon.net/ MinGW64 g++.exe	                Konsole   Ja
    http://tdm-gcc.tdragon.net/ MinGW64 g++.exe	                wxWidgets Nein
    http://tdm-gcc.tdragon.net/ MinGW64 x86_64-w64-mingw32-g++.exe Konsole   Ja
    http://tdm-gcc.tdragon.net/ MinGW64 x86_64-w64-mingw32-g++.exe wxWidgets Nein
    


  • Die exe-Dateien sollten gleich funktionieren, vielleicht ist das deswegen, falls du zwei MinGW-Verzeichnisse in den Path tust, damit du den Compiler trotzdem noch ohne genaue Pfadangabe eindeutig aufrufen kannst.
    Warum du bei wxWidgets mit TDM-GCC nicht kompilierbar hingeschrieben hast, kann ich nicht nachvollziehen.



  • Wenn ich mit dem MinGW32 von http://tdm-gcc.tdragon.net/ das wxWidgets Beispielprojekt kompilieren möchte, bekomme ich folgende Fehler ausgegeben:

    ||=== My, Debug ===|
    C:\wxWidgets2.8\lib\gcc_lib\libwxmsw28_core.a(corelib_app.o):app.cpp|| undefined reference to \_Unwind_Resume'| C:\\wxWidgets2.8\\lib\\gcc\_lib\\libwxmsw28\_core.a(corelib\_app.o):app.cpp|| undefined reference to_Unwind_Resume'|
    C:\wxWidgets2.8\lib\gcc_lib\libwxmsw28_core.a(corelib_app.o):app.cpp|| undefined reference to \_Unwind_Resume'| C:\\wxWidgets2.8\\lib\\gcc\_lib\\libwxmsw28\_core.a(corelib\_app.o):app.cpp|| undefined reference to_Unwind_Resume'|
    C:\wxWidgets2.8\lib\gcc_lib\libwxmsw28_core.a(corelib_app.o):app.cpp|| undefined reference to \_Unwind_Resume'| C:\\wxWidgets2.8\\lib\\gcc\_lib\\libwxmsw28\_core.a(corelib\_app.o):app.cpp|| more undefined references to_Unwind_Resume' follow|
    C:\wxWidgets2.8\lib\gcc_lib\libwxmsw28_core.a(corelib_app.o):app.cpp:(.eh_frame+0x12)||undefined reference to \_\_gxx\_personality_v0'| C:\\wxWidgets2.8\\lib\\gcc\_lib\\libwxmsw28\_core.a(corelib\_main.o):main.cpp|| undefined reference to_Unwind_Resume'|
    C:\wxWidgets2.8\lib\gcc_lib\libwxmsw28_core.a(corelib_main.o):main.cpp:(.eh_frame+0x12)||undefined reference to \_\_gxx\_personality_v0'| C:\\wxWidgets2.8\\lib\\gcc\_lib\\libwxmsw28\_core.a(corelib\_icon.o):icon.cpp|| undefined reference to_Unwind_Resume'|
    C:\wxWidgets2.8\lib\gcc_lib\libwxmsw28_core.a(corelib_icon.o):icon.cpp|| undefined reference to \_Unwind_Resume'| C:\\wxWidgets2.8\\lib\\gcc\_lib\\libwxmsw28\_core.a(corelib\_icon.o):icon.cpp|| undefined reference to_Unwind_Resume'|
    C:\wxWidgets2.8\lib\gcc_lib\libwxmsw28_core.a(corelib_icon.o):icon.cpp|| undefined reference to \_Unwind_Resume'| C:\\wxWidgets2.8\\lib\\gcc\_lib\\libwxmsw28\_core.a(corelib\_icon.o):icon.cpp|| undefined reference to_Unwind_Resume'|
    C:\wxWidgets2.8\lib\gcc_lib\libwxmsw28_core.a(corelib_icon.o):icon.cpp|| more undefined references to \_Unwind_Resume' follow| C:\\wxWidgets2.8\\lib\\gcc\_lib\\libwxmsw28\_core.a(corelib\_icon.o):icon.cpp:(.eh\_frame+0x12)||undefined reference to__gxx_personality_v0'|
    C:\wxWidgets2.8\lib\gcc_lib\libwxmsw28_core.a(corelib_appcmn.o):appcmn.cpp|| undefined reference to \_Unwind_Resume'| C:\\wxWidgets2.8\\lib\\gcc\_lib\\libwxmsw28\_core.a(corelib\_appcmn.o):appcmn.cpp|| undefined reference to_Unwind_Resume'|
    C:\wxWidgets2.8\lib\gcc_lib\libwxmsw28_core.a(corelib_appcmn.o):appcmn.cpp|| undefined reference to \_Unwind_Resume'| C:\\wxWidgets2.8\\lib\\gcc\_lib\\libwxmsw28\_core.a(corelib\_appcmn.o):appcmn.cpp|| undefined reference to_Unwind_Resume'|
    C:\wxWidgets2.8\lib\gcc_lib\libwxmsw28_core.a(corelib_appcmn.o):appcmn.cpp|| undefined reference to \_Unwind_Resume'| C:\\wxWidgets2.8\\lib\\gcc\_lib\\libwxmsw28\_core.a(corelib\_appcmn.o):appcmn.cpp|| more undefined references to_Unwind_Resume' follow|
    C:\wxWidgets2.8\lib\gcc_lib\libwxmsw28_core.a(corelib_appcmn.o):appcmn.cpp:(.eh_frame+0x12)||undefined reference to \_\_gxx\_personality_v0'| C:\\wxWidgets2.8\\lib\\gcc\_lib\\libwxmsw28\_core.a(corelib\_gdicmn.o):gdicmn.cpp|| undefined reference to_Unwind_Resume'|
    C:\wxWidgets2.8\lib\gcc_lib\libwxmsw28_core.a(corelib_gdicmn.o):gdicmn.cpp|| undefined reference to \_Unwind_Resume'| C:\\wxWidgets2.8\\lib\\gcc\_lib\\libwxmsw28\_core.a(corelib\_gdicmn.o):gdicmn.cpp|| undefined reference to_Unwind_Resume'|
    C:\wxWidgets2.8\lib\gcc_lib\libwxmsw28_core.a(corelib_gdicmn.o):gdicmn.cpp|| undefined reference to \_Unwind_Resume'| C:\\wxWidgets2.8\\lib\\gcc\_lib\\libwxmsw28\_core.a(corelib\_gdicmn.o):gdicmn.cpp|| undefined reference to_Unwind_Resume'|
    C:\wxWidgets2.8\lib\gcc_lib\libwxmsw28_core.a(corelib_gdicmn.o):gdicmn.cpp|| more undefined references to \_Unwind_Resume' follow| C:\\wxWidgets2.8\\lib\\gcc\_lib\\libwxmsw28\_core.a(corelib\_gdicmn.o):gdicmn.cpp:(.eh\_frame+0x12)||undefined reference to__gxx_personality_v0'|
    C:\wxWidgets2.8\lib\gcc_lib\libwxmsw28_core.a(corelib_window.o):window.cpp|| undefined reference to \_Unwind_Resume'| C:\\wxWidgets2.8\\lib\\gcc\_lib\\libwxmsw28\_core.a(corelib\_window.o):window.cpp|| undefined reference to_Unwind_Resume'|
    C:\wxWidgets2.8\lib\gcc_lib\libwxmsw28_core.a(corelib_window.o):window.cpp|| undefined reference to \_Unwind_Resume'| C:\\wxWidgets2.8\\lib\\gcc\_lib\\libwxmsw28\_core.a(corelib\_window.o):window.cpp|| undefined reference to_Unwind_Resume'|
    C:\wxWidgets2.8\lib\gcc_lib\libwxmsw28_core.a(corelib_window.o):window.cpp|| undefined reference to \_Unwind_Resume'| C:\\wxWidgets2.8\\lib\\gcc\_lib\\libwxmsw28\_core.a(corelib\_window.o):window.cpp|| more undefined references to_Unwind_Resume' follow|
    C:\wxWidgets2.8\lib\gcc_lib\libwxmsw28_core.a(corelib_window.o):window.cpp:(.eh_frame+0x12)||undefined reference to \_\_gxx\_personality_v0'| C:\\wxWidgets2.8\\lib\\gcc\_lib\\libwxmsw28\_core.a(corelib\_wincmn.o):wincmn.cpp|| undefined reference to_Unwind_Resume'|
    C:\wxWidgets2.8\lib\gcc_lib\libwxmsw28_core.a(corelib_wincmn.o):wincmn.cpp|| undefined reference to \_Unwind_Resume'| C:\\wxWidgets2.8\\lib\\gcc\_lib\\libwxmsw28\_core.a(corelib\_wincmn.o):wincmn.cpp|| undefined reference to_Unwind_Resume'|
    C:\wxWidgets2.8\lib\gcc_lib\libwxmsw28_core.a(corelib_wincmn.o):wincmn.cpp|| undefined reference to \_Unwind_Resume'| C:\\wxWidgets2.8\\lib\\gcc\_lib\\libwxmsw28\_core.a(corelib\_wincmn.o):wincmn.cpp|| undefined reference to_Unwind_Resume'|
    C:\wxWidgets2.8\lib\gcc_lib\libwxmsw28_core.a(corelib_wincmn.o):wincmn.cpp|| more undefined references to \_Unwind_Resume' follow| C:\\wxWidgets2.8\\lib\\gcc\_lib\\libwxmsw28\_core.a(corelib\_wincmn.o):wincmn.cpp:(.eh\_frame+0x12)||undefined reference to__gxx_personality_v0'|
    C:\wxWidgets2.8\lib\gcc_lib\libwxmsw28_core.a(corelib_frame.o):frame.cpp|| undefined reference to \_Unwind_Resume'| C:\\wxWidgets2.8\\lib\\gcc\_lib\\libwxmsw28\_core.a(corelib\_frame.o):frame.cpp|| undefined reference to_Unwind_Resume'|
    C:\wxWidgets2.8\lib\gcc_lib\libwxmsw28_core.a(corelib_frame.o):frame.cpp|| undefined reference to \_Unwind_Resume'| C:\\wxWidgets2.8\\lib\\gcc\_lib\\libwxmsw28\_core.a(corelib\_frame.o):frame.cpp|| undefined reference to_Unwind_Resume'|
    C:\wxWidgets2.8\lib\gcc_lib\libwxmsw28_core.a(corelib_frame.o):frame.cpp|| undefined reference to \_Unwind_Resume'| C:\\wxWidgets2.8\\lib\\gcc\_lib\\libwxmsw28\_core.a(corelib\_frame.o):frame.cpp|| more undefined references to_Unwind_Resume' follow|
    ||More errors follow but not being shown.|
    ||Edit the max errors limit in compiler options...|
    ||=== Build finished: 50 errors, 0 warnings ===|



  • Und warum das so ist, habe ich doch erst in diesem Thread erklärt?! Kompilier wxWidgets selber mit dem gleichen Compiler, dann bekommst du solche Probleme nicht.



  • Sorry, ich hatte mich falsch ausgedrückt. Mein Fehler. Ich wollte damit sagen, das sich das wxPack nicht mit dem MinGW32 von http://tdm-gcc.tdragon.net/ kompilieren lässt und nicht generell wxWidgets.

    Nochmal vielen Dank für deine Hilfe. Es funktioniert nun alles.



  • DarkBug schrieb:

    Sorry, ich hatte mich falsch ausgedrückt. Mein Fehler. Ich wollte damit sagen, das sich das wxPack nicht mit dem MinGW32 von http://tdm-gcc.tdragon.net/ kompilieren lässt und nicht generell wxWidgets.

    Nochmal vielen Dank für deine Hilfe. Es funktioniert nun alles.

    Aber du kannst doch dort beim Installer sogar auswählen, ob du SJLJ oder DW2 willst?! Also kannst du das nicht wirklich so schreiben, denn mit einem von den beiden (also wahrscheinlich dw2) wird es ja wohl gehen.



  • Ja, hast Recht. Mit dem dwarf2 funkioniert es. Was ist eigentlich der 64-Bit Compiler für ein Compiler (sjlj oder dwarf2)? Ich frage, weil ich dort nur eine Option auswählen kann.



  • Wenn du hier bei den Individual Packages schaust, siehst du, dass der 64-Bit-MinGW sjlj ist.



  • Danke. Und der MinGW von http://www.mingw.org/ ist dann ein dwarf2, oder?



  • Wenn du wxPack mit dem mingw.org-MinGW und dem TDM-MinGW-dw2 linken kannst, dann wird der von mingw.org wohl auch ein dw2-Compiler sein.



  • Danke. Letzte Frage: Gibt es einen 64-Bit-MinGW-dwarf2 Compiler?



  • DarkBug schrieb:

    Danke. Letzte Frage: Gibt es einen 64-Bit-MinGW-dwarf2 Compiler?

    http://blog.gmane.org/gmane.comp.gnu.mingw.w64.general/month=20100501
    2. Such-Treffer.



  • Achso, danke. Das heißt, wenn ich wxWidgets Programme auf 64Bit Ebene schreiben möchte, komme ich nicht drumherum wxWidgets selber mit einem 64Bit Compiler zu kompilieren. Sehe ich das richtig?


Anmelden zum Antworten