Hallo zusammen, nachdem ich meinen PC platt gemacht hab (Windows 7 neu draufgespielt), will ich jetzt wieder die Kombination MinGW gcc, Codeblocks und wxWidgets verwenden (gefällt mir soweit gut, hab ich Erfahrung mit, Codeblocks 12.11 ohne MinGW ist installiert) Jetzt hab ich folgendes Problem: Beim Kompilieren von wxWidgets-2.8.12 (download: wxWidgets-2.8.12.tar.gz von http://sourceforge.net/projects/wxwindows/files/2.8.12/)(guide: http://wiki.wxwidgets.org/CodeBlocks_Setup_Guide ohne USE_XRC und MONOLITHIC und mit UNICODE=1) kommt ganz am Schluss die Meldung, die man im angehängten Screenshot sieht. Und wenn ich dann ein wxWidgets-Projekt in Codeblocks kompilieren will dann kommt der error: ld.exe cannot find -lwxmsw28u_core MinGW hab ich mit dem MinGW Installer von der Homepage mit den Packages mingw-developer-toolkit, mingw32-base, mingw32-gcc-g++ und msys-base installiert. (nachdem der Installer fertig war habe ich selbst nichts mehr selbst kompiliert von MinGW ist das richtig?? wusste nicht ob ich bei diesem guide http://www.mingw.org/wiki/Getting_Started nach der GUI das mit dem command line interface auch noch machen muss??) PATH-Variable ist auf Pfad von mingw->bin gesetzt. Hab schon bisschen was zu dem Thema gefunden, das hat mich allerdings nicht weitergebracht. Jetzt sind meine Fragen: Was läuft da falsch? Ist der MinGW-Compiler schon falsch installiert? Hat das was mit Pfaden mit \ oder / schreiben zu tun? (hab ich auch schon gelesen) Vielen Dank schon einmal für eure Hilfe.
Daniel Schindler schrieb: > kommt ganz am Schluss die Meldung, die man > im angehängten Screenshot sieht. Die ist ganz sicher eine Folge der Fehler davor. > ld.exe cannot find -lwxmsw28u_core Kein Wunder, wenn das Erzeugen der Library nicht funktioniert, gibt es sie ja auch nicht. Übrigens kann man den Text in einem Konsolenfenster in die Zwischenablage kopieren, so daß kein Screenshot nötig ist. Was Du jetzt tun solltest: Suche die erste Fehlermeldung und beseitige deren Ursache, denn oft sind weitere Fehlermeldungen Folgen von vorangegehenden Fehlern.
was mich eben wundert ist, dass ich alles nach der anleitung gemacht habe, bzw schon mehrere verschiedene anleitungen durchgegangen bin(mingw mit installer installiert oder per konsole etc, das selbe bei wxwidgets), komme aber trotzdem immer auf das selbe ergebnis
Tja, irgendwas ist dann halt doch etwas anders. Und das verbirgt sich ziemlich sicher hinter der ersten Fehlermeldung, der, die man in Deinem Screenshot nicht sehen kann.
Kann es denn sein, dass MinGW auch schon falsch installiert/kompiliert ist? Habs wie gesagt nur mit dem Installer gemacht.
Habe das ganze gerade mit wxWidgets 3.0.0 versucht und dabei kamen keine Fehler, aber wie ich das sehe unterstützt Codeblocks die 3er Version nicht.
Lust, Dir die erste Fehlermeldung anzusehen, hast Du anscheinend nicht.
Wie komme ich denn an die ran? Ich kann in der Konsole ja nur eine gewisse Distanz hochscrollen. Der erste Error im scrollbaren Fenster ist
1 | ../../src/msw/debughlp.cpp: In static member function 'static wxString wxDbgHelp |
2 | DLL::DumpField(PSYMBOL_INFO, void*, unsigned int)': |
3 | ../../src/msw/debughlp.cpp:335:49: error: cast from 'void*' to 'long unsigned in |
4 | t' loses precision [-fpermissive] |
5 | pVariable = (void *)((DWORD_PTR)pVariable + ofs); |
:
Bearbeitet durch User
Daniel Schindler schrieb: > Wie komme ich denn an die ran? Ich kann in der Konsole ja nur eine > gewisse Distanz hochscrollen. Dann stell die Größe des Konsolenpuffers ausreichend groß ein. Klick aufs Systemmenü (links oben neben "MINGW") und "Eigenschaften" auswählen. "Layout" wählen und als Fensterpuffergröße z.b. 5000 Zeilen eintragen.
Alles klar viele Dank für die Info. Jetzt ist die erste Fehlermeldung (trotzdem ziemlich weit unten insgesamt)
1 | ../../src/msw/thread.cpp: In static member function 'static THREAD_RETVAL wxThre |
2 | adInternal::DoThreadStart(wxThread*)': |
3 | ../../src/msw/thread.cpp:525:43: error: cast from 'void*' to 'THREAD_RETVAL {aka |
4 | unsigned int}' loses precision [-fpermissive] |
5 | rc = (THREAD_RETVAL)thread->Entry(); |
Und das ist wirklich die erste Fehlermeldung beim Kompilieren. Ich habe jetzt mit TDM-GCC-64 muss ich sagen, da ich da auch verschiedene Varianten schon ausprobiert habe. Dann kommt ganz am Schluss auch nicht mehr das mit treectrl sondern
1 | makefile.gcc:8776: recipe for target 'gcc_mswudll\basedll_thread.o' failed |
2 | mingw32-make: *** [gcc_mswudll\basedll_thread.o] Error 1 |
Daniel Schindler schrieb: > ../../src/msw/thread.cpp:525:43: error: cast from 'void*' to > 'THREAD_RETVAL {aka > unsigned int}' loses precision [-fpermissive] > rc = (THREAD_RETVAL)thread->Entry(); Andererseits: Versuchst Du das als 64-Bit-Code zu übersetzen? Das würde die Fehlermeldung erklären, denn nur dann ist sizeof (int) < sizeof (void *). Lass' das mit den 64 Bit mal sein.
So ich habs jetz wieder wie ganze am Anfang gemacht, MinGW über Installer etc. Die erste Fehlermeldung ist dann wie oben im Screenshot zu sehen
1 | In file included from ..\..\include/wx/msw/gccpriv.h:22:0, |
2 | from ..\..\include/wx/platform.h:577, |
3 | from ..\..\include/wx/defs.h:21, |
4 | from ..\..\include/wx/wxprec.h:13, |
5 | from ../../src/msw/treectrl.cpp:21: |
6 | ../../src/msw/treectrl.cpp: In member function 'virtual bool wxTreeCtrl::MSWOnNotify(int, WXLPARAM, WXLPARAM*)': |
7 | ../../src/msw/treectrl.cpp:2581:17: error: 'NMTVDISPINFOWW' was not declared in this scope |
8 | TV_DISPINFO *info = (TV_DISPINFO *)lParam; |
Davor kommt kein Fehler. Kann damit wer was anfangen?
So hab die Lösung gefunden: siehe http://mingw.5.n7.nabble.com/win32api-version-4-td32288.html Wusste halt nicht, ob MinGW möglicherweise schon falsch installiert wurde. Danke trotzdem.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.