Zum Inhalt springen

wxWidgets - Fehler bei wxUSE_WEBVIEW


PL1994

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.
Link zu diesem Kommentar
Auf anderen Seiten teilen

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?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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