wxWidgets (Standart)
-
Hi,
Ich habe jetzt mit wxWidgets angefangen. Ich habe alle 20 Projekte Kompilimiert. Habe auch in den Einstellungen den Linker u. co. eingegeben jedoch schein ein Fehler im Destuktor meiner Datei base.h zu sein.
Hier mein Code der Datei base.h:// base.h #ifndef BAISC_H #define BASIC_H class HalloWeltApp : public wxApp { public: virtual bool OnInit(); }; class BasicFrame : public wxFrame { public: BasicFrame(const wxChar *title, int xpos, int ypos, int width, int height); ~Basicframe(); }; #endif
Und meine Datei Base.cpp:
// base.cpp #include <wx/wx.h> #include "base.h" IMPLEMENT_APP(HalloWeltApp) bool HalloWeltApp::OnInit() { BasicFrame *frame = new BasicFrame(wxT("Hallo Welt"), 50, 50, 450, 300); frame->Show(TRUE); SetTopWindow(frame); return TRUE; } BasicFrame::BasicFrame (const wxChar *title, int xpos, int ypos, int width, int height) : wxFrame ( (wxFrame *) NULL, -1, title, wxPoint(xpos, ypos), wxSize(width, height)) {} BasicFrame::~BasicFrame() { }
Wäre echt nett von euch könntet ihr mir sagen wo der Fehler liegt.
Achso noch der Fehler:
1>c:\users\mike\documents\visual studio 2008\projects\testguiproj\testguiproj\base.h(12) : error C2523: "BasicFrame::~Basicframe": Destruktor-Tag stimmt nicht überein.
Mfg
Mike
-
Wenn das 1:1 ist:
Destruktor ebenso wie Konstruktor muss exakt den selben Namen haben wie die Klasse. Achte auf CaseSensitivity
-
Hi,
Danke, das hat mir schonmal geholfen wusste nicht das die Großschreibung beachtet wird.
Jetzt kommen leider einige mehr Fehler ich weiß echt nicht woher die denn jetzt kommen sollen.
Bericht:1>------ Erstellen gestartet: Projekt: TestGuiProj, Konfiguration: Debug Win32 ------
1>Kompilieren...
1>base.cpp
1>Verknüpfen...
1>LINK : warning LNK4098: Standardbibliothek "MSVCRT" steht in Konflikt mit anderen Bibliotheken; /NODEFAULTLIB:Bibliothek verwenden.
1>base.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: virtual void __thiscall wxAppConsole::OnAssertFailure(char const *,int,char const *,char const *,char const *)" (?OnAssertFailure@wxAppConsole@@UAEXPBDH000@Z)".
1>base.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: virtual void __thiscall wxAppConsole::OnAssert(char const *,int,char const *,char const *)" (?OnAssert@wxAppConsole@@UAEXPBDH00@Z)".
1>base.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""void __cdecl wxOnAssert(char const *,int,char const *,char const *,char const *)" (?wxOnAssert@@YAXPBDH000@Z)" in Funktion ""public: __thiscall wxStringBase::wxStringBase(class wxStringBase const &)" (??0wxStringBase@@QAE@ABV0@@Z)".
1>C:\Users\Mike\Documents\Visual Studio 2008\Projects\TestGuiProj\Debug\TestGuiProj.exe : fatal error LNK1120: 3 nicht aufgelöste externe Verweise.
1>Das Buildprotokoll wurde unter "file://c:\Users\Mike\Documents\Visual Studio 2008\Projects\TestGuiProj\TestGuiProj\Debug\BuildLog.htm" gespeichert.
1>TestGuiProj - 4 Fehler, 1 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========Obwohl jetzt kein Fehler mehr da sein sollte.
Freue mich auf Antworten
Mfg
Loadsoft
-
Hi,
Es klappt leider immer noch nicht. Habe es jetzt mit Code::Blocks versucht und dort geht es auch nicht.
Habe alles so gemacht wie es hier steht:
http://www.pronix.de/pronix-1138.htmlDas Problem trat wohl zwischen Schritt 19 und 20 auf. Die Dateien base.h und base.cpp waren nicht vorhanden -> war ja auch ein leeres Projekt.
Es klappt nicht wenn ich meine Code reinkopiere.
Also folgende Codes (base.h):/*************************************************************** * Name: neProjApp.h * Purpose: Defines Application Class * Author: Mike Iruobe (Mikeiruobe@hotmail.de) * Created: 2010-05-08 * Copyright: Mike Iruobe (http://www.it-programming.de) * License: **************************************************************/ // base.h #ifndef BAISC_H #define BASIC_H class HalloWeltApp : public wxApp { public: virtual bool OnInit(); }; class BasicFrame : public wxFrame { public: BasicFrame(const wxChar *title, int xpos, int ypos, int width, int height); ~BasicFrame(); }; #endif
und Base.cpp:
/*************************************************************** * Name: neProjMain.h * Purpose: Defines Application Frame * Author: Mike Iruobe (Mikeiruobe@hotmail.de) * Created: 2010-05-08 * Copyright: Mike Iruobe (http://www.it-programming.de) * License: **************************************************************/ // base.cpp #include <wx/wx.h> #include "base.h" IMPLEMENT_APP(HalloWeltApp) bool HalloWeltApp::OnInit() { BasicFrame *frame = new BasicFrame(wxT("Hallo Welt"), 50, 50, 450, 300); frame->Show(TRUE); SetTopWindow(frame); return TRUE; } BasicFrame::BasicFrame (const wxChar *title, int xpos, int ypos, int width, int height) : wxFrame ( (wxFrame *) NULL, -1, title, wxPoint(xpos, ypos), wxSize(width, height)) {} BasicFrame::~BasicFrame() { }
Es klappt aber auch nicht wenn ich die Checkbox Empty Projekt nicht anklicke (Dann kommen zwar 4 Dateien aber es fehlt wohl eine Dll mit den namen "wxmsw28_gcc_custom.dll".
Könnte mir einer von euch helfen? Habt ihr hilfreiche Tipps oder könnt ihr mir über Teamviewer helfen?
Freue mich echt über hilfe!
Mfg
aC*++ Anfänger
-
Hi,
Habe gerade gesehen dort steht man muss den Quellcode übersetzen.
Aber wie? Und wie meinen die das Überhaupt?
Mfg
aC°++ Anfänger
-
Weil wxWidgets auch in C++ geschrieben ist, musst du das auch übersetzen - aber nicht jedes Mal, sondern nur einmal.
Wie das geht?
z.B. hier habe ich mir schon mal die Finger wund geschrieben:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-265074.html
-
Hallo,
Ich möchte dir gerne vorschlagen WxDev-C++ für die wxWidget Entwicklung zu verwenden, ich persönlich habe tolle Erfahrungen mit dieser IDE gemacht.