PL1994 Geschrieben 9. Oktober 2014 Geschrieben 9. Oktober 2014 Hallo, um wxWidgets verwenden zu können, muss man ja einige zusätzliche Abhängigkeiten beim Linker einstellen. Laut dieser (wxWidgets für Visual C++ CwCity.de - Tutorial -) Anleitung genau diese: wxmsw28_core.lib wxbase28.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregex.lib wxexpat.lib winmm.lib comctl32.lib rpcrt4.lib wsock32.lib odbc32.lib Erstes Problem: Einige davon finde ich nicht in den Bibliotheksverzeichnissen, nämlich: winmm.lib comctl32.lib rpcrt4.lib wsock32.lib odbc32.lib Angegeben habe ich für mein Projekt jetzt (an die aktuelle wxWidgets-Version angepasst) diese: wxmsw30u_core.lib wxbase30u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib Zweites Problem: Ich bekomme eine Fehlermeldung vom Linker, nämlich: Linkertoolwarnung LNK4098 Ich soll also außer LIBC.lib alle mit /NODEFAULTLIB versehen. Ich habe das bei der Option Linker > Eingabe > Bestimmte Standardbibliotheken ignorieren mit dieser Zeile zu bewirken versucht: /NODEFAULTLIB:[LIBCMT.lib, MSVCRT.lib, LIBCD.lib, LIBCMTD.lib, MSVCRTD.lib] Funktioniert leider nicht - gleiche Fehlermeldung ... ich habe noch mehr Fehlermeldungen, aber hängen sicher mit letzterer zusammen. Ich verzweifle langsam mit den Widgets ... :confused: Gruß PL1994 Zitieren
Klotzkopp Geschrieben 9. Oktober 2014 Geschrieben 9. Oktober 2014 um wxWidgets verwenden zu können, muss man ja einige zusätzliche Abhängigkeiten beim Linker einstellen. Laut dieser (wxWidgets für Visual C++ CwCity.de - Tutorial -) Anleitung genau diese:Das ist das Problem mit Tutorials: Sie stellen immer eine Vereinfachung dar, die zwar den Einstieg erleichtert, aber auch wichtige Zusammenhänge vor dir versteckt. Du solltest genau die Libs dazu linken, die du brauchst. Nicht blind einer Liste folgen. Erstes Problem: Einige davon finde ich nicht in den Bibliotheksverzeichnissen, nämlich: winmm.lib comctl32.lib rpcrt4.lib wsock32.lib odbc32.libDas sind Windows-Libs, die nichts mit wxWidgets zu tun haben. Visual C++ sollte von ganz allein in der Lage sein, diese zu finden. Zweites Problem: Ich bekomme eine Fehlermeldung vom Linker, nämlich: Linkertoolwarnung LNK4098 Ich soll also außer LIBC.lib alle mit /NODEFAULTLIB versehen.Nein. Ganz falsche Schlussfolgerung. Du sollst darauf achten, dass dein Programm und deine Libs nicht mit unterschiedliche Versionen der Standard-Libs verlinkt sind. Das konkrete Problem hier dürfte sein, dass du dein Programm in der Debug-Konfiguration baust, aber die wx-Release-Libs dazu linkst. Das funktioniert nicht. Schau dir mal die Projekteigenschaften des webview-Samples an. Beachte, wie sich bei Linker->General die Lib-Verzeichnisse ändern, wenn du zwischen einer DLL-Konfiguration und einer Nicht-DLL-Konfiguration wechselst. Beachte, die sich bei Linker->Input die Namen der Libs ändern, wenn du zwischen Debug und Release wechselst. Es ist leider nicht immer alles so einfach, wie es in Tutorials dargestellt wird. Zitieren
PL1994 Geschrieben 9. Oktober 2014 Autor Geschrieben 9. Oktober 2014 Ja, das war es Jetzt habe ich das Problem eines nicht aufgelösten externen Symbols. Hängt wahrscheinlich damit zusammen, dass ich eben nicht die richtigen Bibliotheken angegeben habe. Wo kann ich nachsehen, welche Bibliotheken ich zum Beispiel für wxApp brauche? Zitieren
Klotzkopp Geschrieben 10. Oktober 2014 Geschrieben 10. Oktober 2014 Wo kann ich nachsehen, welche Bibliotheken ich zum Beispiel für wxApp brauche? In der Dokumentation der Klasse wxApp. Zitieren
PL1994 Geschrieben 14. Oktober 2014 Autor Geschrieben 14. Oktober 2014 So, nachdem ich jetzt endlich mal dazu gekommen bin, das auszuprobieren: Danke schon einmal für deine Ratschlage und den Link zur Doku Nachdem ich noch einmal die Anleitung in meinem Buch durchgegangen bin, habe ich auch dort eine Liste mit den benötigten Bibliotheken gefunden - und endlich funktioniert es. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.