Zum Inhalt springen

wxWidgets - Fehler bei wxUSE_WEBVIEW


Empfohlene Beiträge

Geschrieben

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

Geschrieben
# 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]

Geschrieben

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.

Geschrieben

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?

Geschrieben
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 kopiert
Das 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?

Geschrieben

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" ...

Geschrieben
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.

Geschrieben

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)

Geschrieben
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.
Geschrieben

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.

Geschrieben
Meinst du bei Projekteigenschaften > Allgemein > Zeichensatz? Das habe ich jetzt auf Unicode umgestellt
Gut.

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.
Geschrieben

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" ...

Geschrieben

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?

Geschrieben

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 :)

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...