PL1994 Geschrieben 6. Oktober 2014 Teilen Geschrieben 6. Oktober 2014 Hallo, ich möchte mit Hilfe der "wxWidgets" ein GUI programmieren. Die Bibliotheken habe ich erstellt, Include- und Library-Verzeichnisse sind festgelegt. Ich bekomme allerdings eine Fehlermeldung, von der ich nicht weiß, was ich damit anfangen soll. Außer zweier Klassendefinitionen (eine erbt von wxApp, die andere von wxFrame) habe ich noch nichts mit den wx-Klassen gemacht. Daran wird wohl nicht viel falsch sein ... Die Fehlermeldung lautet: "wxUSE_WEBVIEW requires at least one backend". Sie wird hier in der Datei "chkconf.h" generiert: #if wxUSE_WEBVIEW && !(wxUSE_WEBVIEW_WEBKIT || wxUSE_WEBVIEW_IE) # ifdef wxABORT_ON_CONFIG_ERROR # error "wxUSE_WEBVIEW requires at least one backend" # else # undef wxUSE_WEBVIEW # define wxUSE_WEBVIEW 0 # endif #endif /* wxUSE_WEBVIEW && !any web view backend */ Einige Zeilen vorher wird "wxUSE_WEBVIEW" definiert: #ifndef wxUSE_WEBVIEW # ifdef wxABORT_ON_CONFIG_ERROR # error "wxUSE_WEBVIEW must be defined, please read comment near the top of this file." # else # define wxUSE_WEBVIEW 0 # endif #endif /* !defined(wxUSE_WEBVIEW) */ Was soll ich davon halten? Müsste "wxUSE_WEBVIEW" nach der Definition nicht 0 sein und irrelevant? Gruß PL1994 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 6. Oktober 2014 Teilen Geschrieben 6. Oktober 2014 # error "wxUSE_WEBVIEW must be defined, please read comment near the top of this file." Hast du das gemacht? Da steht folgendes: /* ************************************************** PLEASE READ THIS IF YOU GET AN ERROR IN THIS FILE! ************************************************** If you get an error saying "wxUSE_FOO must be defined", it means that you are not using the correct up-to-date version of setup.h. This happens most often when using svn or daily snapshots and a new symbol was added to setup0.h and you haven't updated your local setup.h to reflect it. If this is the case, you need to propagate the changes from setup0.h to your setup.h and, if using makefiles under MSW, also remove setup.h under the build directory (lib/$(COMPILER)_{lib,dll}/msw[u][d][dll]/wx) so that the new setup.h is copied there. If you get an error of the form "wxFoo requires wxBar", then the settings in your setup.h are inconsistent. You have the choice between correcting them manually or commenting out #define wxABORT_ON_CONFIG_ERROR below to try to correct the problems automatically (not really recommended but might work). */[/code] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
PL1994 Geschrieben 6. Oktober 2014 Autor Teilen Geschrieben 6. Oktober 2014 Ich habe das heute heruntergeladen und nichts verändert. Die setup.h müsste aktuell sein. Es stand eine setup.h für Debug und eine für Release zur Verfügung - habe inzwischen (eigentlich widersinnigerweise) beide probiert ... immer das Gleiche. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 7. Oktober 2014 Teilen Geschrieben 7. Oktober 2014 Wie sah denn dein configure-Aufruf aus? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
PL1994 Geschrieben 7. Oktober 2014 Autor Teilen Geschrieben 7. Oktober 2014 Was für ein Configure-Aufruf? Ich habe nur Folgendes gemacht: - wx.dsw in Visual Studio importiert - einmal die Debug- und einmal die Release-Bibliotheken erstellt - die setup.h unter lib\vc_lib\mswud\wx ins Verzeichnis {Include-Verzeichnis}\wx kopiert - Include- und Library-Verzeichnis festgelegt - versucht, einen Frame aufzubauen. Fehlt da was? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 7. Oktober 2014 Teilen Geschrieben 7. Oktober 2014 Was für ein Configure-Aufruf?Entschuldige, ich dachte, du würdest Linux verwenden. - wx.dsw in Visual Studio importiertdsw? Benutzt du noch Visual C++ 6? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
PL1994 Geschrieben 7. Oktober 2014 Autor Teilen Geschrieben 7. Oktober 2014 Nein, 11. Ich habe mich an einer Anleitung aus einem Buch von 2011 orientiert, ich hoffe, das war nicht veraltet ... Ist .dsw denn inkompatibel? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 7. Oktober 2014 Teilen Geschrieben 7. Oktober 2014 Ist .dsw denn inkompatibel?.dsw-Dateien sind für Visual C++ 6.0, das ist eine 16 Jahre alte Entwicklungsumgebung. Ich sehe aber gerade, dass das auch die im wxWiki beschriebene Vorgehensweise ist. Im Source-Archiv gibt es auch eine Projektdatei für Visual C++ 2012: wx_vc11.sln. - die setup.h unter lib\vc_lib\mswud\wx ins Verzeichnis {Include-Verzeichnis}\wx kopiertDas ist vermutlich ein Fehler. Das ist der Header nur für Unicode Debug. Es gibt einen Wrapper in include\msvc\wx, der je nach Einstellungen den richtigen Header einbindet. Irgendwelche Header irgendwohin zu kopieren klingt schon grundsätzlich falsch. Hast du include\msvc als Include-Ordner festgelegt? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
PL1994 Geschrieben 7. Oktober 2014 Autor Teilen Geschrieben 7. Oktober 2014 Okay, ich habe die kopierte setup.h wieder herausgenommen und den Include-Ordner angegeben. Dann tauchte ein Fehler auf, der behoben wurde, indem ich wxTOOLKIT_PREFIX von msw zu mswu geändert habe. Das sollte wahrscheinlich normalerweise nicht nötig sein, aber es gibt nur den Ordner mswu (und mswud). Das Problem ist, dass ich jetzt trotzdem wieder den gleichen Fehler wie vorher habe: "wxUSE_WEBVIEW requires at least one backend" ... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 7. Oktober 2014 Teilen Geschrieben 7. Oktober 2014 Dann tauchte ein Fehler auf, der behoben wurde, indem ich wxTOOLKIT_PREFIX von msw zu mswu geändert habe.Wo hast du das geändert? Du solltest auf keinen Fall an den wx-Headern herumfummeln. Grundsätzlich solltest du die Finger von irgendwelchen Headerdateien lassen, die du nicht selbst geschrieben hast. Wenn du nur die Unicode-Varianten der Bibliothek gebaut hast, solltest du dein Programm auf Unicode umstellen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
PL1994 Geschrieben 7. Oktober 2014 Autor Teilen Geschrieben 7. Oktober 2014 Wie baut man denn andere Varianten der Bibliothek? (Um auszuschließen, dass ich irgendeine Änderung vorgenommen habe, die zu dem Problem geführt hat, werde ich die wxWidgets jetzt erstmal neu extrahieren) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 7. Oktober 2014 Teilen Geschrieben 7. Oktober 2014 Wie baut man denn andere Varianten der Bibliothek?Du sollst keine andere Variante bauen. Du sollst Unicode benutzen, und alte Projekte, die das nicht tun, möglichst bald auf Unicode umstellen, da der ANSI-Modus in absehbarer Zeit aus wxWidgets rausfliegt. So zumindest ein Kommentar in setup.h. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
PL1994 Geschrieben 7. Oktober 2014 Autor Teilen Geschrieben 7. Oktober 2014 Meinst du bei Projekteigenschaften > Allgemein > Zeichensatz? Das habe ich jetzt auf Unicode umgestellt, vorher war aber schon "Multibyte-Zeichensatz verwenden" eingestellt; ist das nicht ohnehin Unicode? Und wie schaffe ich es, dass jetzt auch die Unicode-Bibliotheken von wxWidgets erstellt werden (also auch der Ordner mswud)? Alles, was ich dazu bei wxWiki gefunden habe, ist, dass es eine Konfiguration "Debug Unicode" in VS geben müsste - die existiert aber nicht. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 7. Oktober 2014 Teilen Geschrieben 7. Oktober 2014 Meinst du bei Projekteigenschaften > Allgemein > Zeichensatz? Das habe ich jetzt auf Unicode umgestelltGut. vorher war aber schon "Multibyte-Zeichensatz verwenden" eingestellt; ist das nicht ohnehin Unicode?Nein. Und wie schaffe ich es, dass jetzt auch die Unicode-Bibliotheken von wxWidgets erstellt werden (also auch der Ordner mswud)? Alles, was ich dazu bei wxWiki gefunden habe, ist, dass es eine Konfiguration "Debug Unicode" in VS geben müsste - die existiert aber nicht.Die Bibliotheken werden immer als Unicode erstellt. Du musst also nur die "Debug"-Konfiguration bauen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
PL1994 Geschrieben 7. Oktober 2014 Autor Teilen Geschrieben 7. Oktober 2014 Also, erfreulicherweise brauchte ich jetzt nicht mehr in irgendwelchen Setup-Einstellungen rumbasteln, damit der richtige Ordner gefunden wird. Allerdings habe ich immer noch die gleiche Fehlermeldung "wxUSE_WEBVIEW requires at least one backend" ... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 7. Oktober 2014 Teilen Geschrieben 7. Oktober 2014 Kannst du das webview-Sample bauen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
PL1994 Geschrieben 8. Oktober 2014 Autor Teilen Geschrieben 8. Oktober 2014 Tatsache, das kann ich ... Ich habe mal die Projekteigenschaften verglichen: Ein Unterschied ist, dass die zusätzlichen Include- und Bibliotheksverzeichnisse nicht als absolute, sondern relative Pfade angegeben sind. Das sollte aber nicht stören, schätze ich. Außerdem sind bei Linker > Eingabe > Zusätzliche Abhängigkeiten einige weitere Bibliotheken angegeben. Kann es sein, dass man die generell angeben muss? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 8. Oktober 2014 Teilen Geschrieben 8. Oktober 2014 Nein, bis zum Linken kommt dein Programm ja gar nicht. Es liegt an deinem Code. Möglicherweise eine Include-Direktive für einen wx-Header mit einem anderen Pfad als "wx/"? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
PL1994 Geschrieben 8. Oktober 2014 Autor Teilen Geschrieben 8. Oktober 2014 Ja, ich hatte von einem früheren Versuch noch "#include <wx\setup.h>" drin. Damit ist wohl irgendetwas kollidiert ... danke dir! Jetzt habe ich zwar eine andere, ziemlich lange Fehlerliste, aber das versuche ich erst einmal selbst zu beheben Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
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.