ďťż

Ł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
  •