Ĺadny brzuch
#include "wx/wxprec.h"
#ifdef WX_PERCOMP
#include "wx/wx.h"
#endif
class Aplik : public wxApp
{
public:
virtual bool OnInit();
};
IMPLEMENT_APP(Aplik);
bool Aplik::OnInit()
{
wxFrame* MainWindow = new wxFrame(NULL, -1, _T("Mój program :)"), wxPoint(50, 50), wxSize(200, 200), wxDEFAULT_FRAME_STYLE);
MainWindow -> Show(true);
return true;
}
Błędy:
8 D:\Projekty wx\Nauka wx - Wykorzystaj potęgę\Lekcja 1 - Pierwszy program\main.cpp expected class-name before '{' token
13 D:\Projekty wx\Nauka wx - Wykorzystaj potęgę\Lekcja 1 - Pierwszy program\main.cpp expected constructor, destructor, or type conversion before ';' token D:\Projekty wx\Nauka wx - Wykorzystaj potęgę\Lekcja 1 - Pierwszy program\main.cpp In member function `virtual bool Aplik::OnInit()':
17 D:\Projekty wx\Nauka wx - Wykorzystaj potęgę\Lekcja 1 - Pierwszy program\main.cpp `wxFrame' undeclared (first use this function)
I mam jeszce kilka innych błędów.
Jest to pierwszy kod w książce "Wykorzystaj Potęgę Aplikacji Graficznych". Kod jest omawiany na tym kompilatorze na którym i ja go kompiluję.
Z góry dzieki za pomoc.
Pozdro!
PS: Sorki, że słabo opisałem ale się spiesze (jutro poprawie).
OT 1. Uwzględnij jeszcze wersję wxWidgets bo są z dwie lub trzy gałęzie stabilne obecnie ;)
OT 2. Tworzenie aplikacji graficznych w C/C++ jest znacznie trudniejsze od stosowania tych samych bibliotek w Pythonie czy Ruby, a nie przynosi obecnie wymiernych korzyści. W przypadku wxwidgets jest WxPython, lub PythonCard - jeszcze prostsza nakładka na wxWidgets. I nie traci się na przenośności, czy możliwościach (a czasami są znacznie lepsze). W Pythonie można także użyć PyQt, PyGTK+.
http://wxpython.org/
http://pythoncard.sourceforge.net/
Kompilator chce nazwę klasy po "public" i przed "{". Nie wie, że wxApp jest nazwą klasy, czyli problem leży w 4 pierwszych linijkach, bo to one powinny powiedzieć mu, że istnieje taka klasa. Powinno być WX_PRECOMP, a nie WX_PERCOMP. Jeśli nie zadziała, to spróbuj zamienić te 4 linie na "#include <wx/wx.h>".
Dzięki Kozack!
Miałem źle napisany WX_PRECOMP. Oczywiście przeglądałem kod kilkanaście razy, ale nie przywiązałem uwagi do nagłówków :)
A i jeszce mam taki mały problem.
Po wpisaniu kodu (znaleziony w necie) kompilował sie on bez trudu, jednak gdy po kompilacji się uruchamia to wyskakuje mi komunikat, iż program nie jest skompilowany. Jednak gdy ten sam kod napiszę w innym projekcie (pliku) to kompiluje się on bez trudu i działa normalnie.
Zdażyło mi się to już 2 raz.
Jest jakis sposób by uniknąć tego wkurzającego błędu??
PS: Mozna tu rozdać cos w stylu dodatkowych punktów, karmy, piw??
Właśnie spostrzegłem: Program jest normalnie zapisywany i działa. Po prostu IDE (wxDev C++) chyba ma problemy z jego otwarciem. Pewnie dlatego, że używam czasami polskich liter typu: ć, ś, ó.
EDIT: Już znam rozwiązanie. IDE zapisuje mi nazwę programu bez polskich znaków, a potem nie może jej znaleźć, tj.:
Nazwa projektu = Cześć wam
IDE zapisuje jako = Cze^^ wam
IDE prubuje otworzyć jako = Cześć wam
i dlatego nie może otworzyć.
Pozdro!
Użytkownik Cyper edytował ten post 04 listopad 2008, 13:58
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Błędy:
8 D:\Projekty wx\Nauka wx - Wykorzystaj potęgę\Lekcja 1 - Pierwszy program\main.cpp expected class-name before '{' token
13 D:\Projekty wx\Nauka wx - Wykorzystaj potęgę\Lekcja 1 - Pierwszy program\main.cpp expected constructor, destructor, or type conversion before ';' token D:\Projekty wx\Nauka wx - Wykorzystaj potęgę\Lekcja 1 - Pierwszy program\main.cpp In member function `virtual bool Aplik::OnInit()':
17 D:\Projekty wx\Nauka wx - Wykorzystaj potęgę\Lekcja 1 - Pierwszy program\main.cpp `wxFrame' undeclared (first use this function)
I mam jeszce kilka innych błędów.
Jest to pierwszy kod w książce "Wykorzystaj Potęgę Aplikacji Graficznych". Kod jest omawiany na tym kompilatorze na którym i ja go kompiluję.
Z góry dzieki za pomoc.
Pozdro!
PS: Sorki, że słabo opisałem ale się spiesze (jutro poprawie).
OT 1. Uwzględnij jeszcze wersję wxWidgets bo są z dwie lub trzy gałęzie stabilne obecnie ;)
OT 2. Tworzenie aplikacji graficznych w C/C++ jest znacznie trudniejsze od stosowania tych samych bibliotek w Pythonie czy Ruby, a nie przynosi obecnie wymiernych korzyści. W przypadku wxwidgets jest WxPython, lub PythonCard - jeszcze prostsza nakładka na wxWidgets. I nie traci się na przenośności, czy możliwościach (a czasami są znacznie lepsze). W Pythonie można także użyć PyQt, PyGTK+.
http://wxpython.org/
http://pythoncard.sourceforge.net/
Kompilator chce nazwę klasy po "public" i przed "{". Nie wie, że wxApp jest nazwą klasy, czyli problem leży w 4 pierwszych linijkach, bo to one powinny powiedzieć mu, że istnieje taka klasa. Powinno być WX_PRECOMP, a nie WX_PERCOMP. Jeśli nie zadziała, to spróbuj zamienić te 4 linie na "#include <wx/wx.h>".
Dzięki Kozack!
Miałem źle napisany WX_PRECOMP. Oczywiście przeglądałem kod kilkanaście razy, ale nie przywiązałem uwagi do nagłówków :)
A i jeszce mam taki mały problem.
Po wpisaniu kodu (znaleziony w necie) kompilował sie on bez trudu, jednak gdy po kompilacji się uruchamia to wyskakuje mi komunikat, iż program nie jest skompilowany. Jednak gdy ten sam kod napiszę w innym projekcie (pliku) to kompiluje się on bez trudu i działa normalnie.
Zdażyło mi się to już 2 raz.
Jest jakis sposób by uniknąć tego wkurzającego błędu??
PS: Mozna tu rozdać cos w stylu dodatkowych punktów, karmy, piw??
Właśnie spostrzegłem: Program jest normalnie zapisywany i działa. Po prostu IDE (wxDev C++) chyba ma problemy z jego otwarciem. Pewnie dlatego, że używam czasami polskich liter typu: ć, ś, ó.
EDIT: Już znam rozwiązanie. IDE zapisuje mi nazwę programu bez polskich znaków, a potem nie może jej znaleźć, tj.:
Nazwa projektu = Cześć wam
IDE zapisuje jako = Cze^^ wam
IDE prubuje otworzyć jako = Cześć wam
i dlatego nie może otworzyć.
Pozdro!
Użytkownik Cyper edytował ten post 04 listopad 2008, 13:58