Odpowiedz 
 
Ocena wątku:
  • 0 Głosów - 0 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
[SOLVED]wxWidgets - błędy programu z kursu
Autor Wiadomość
mlodir Offline
Użytkownik

Liczba postów: 138
Dołączył: 12-12-2008
Reputacja: 3
Post: #1
[SOLVED]wxWidgets - błędy programu z kursu
Witam,
Zacząłem uczyć się programować w wxWidgets z tego kursu. Napisałem pierwszy zaprezentowany tam program który miał pokazywać tylko puste okienko. Kod programu:
simple.h
Kod:
#include <wx/wx.h>

class Simple : public wxFrame
{
public:
    Simple(const wxString& title);

};
simple.cpp
Kod:
#include "simple.h"

Simple::Simple(const wxString& title)
       : wxFrame(NULL, wxID_ANY, title, wxDefaultPosition, wxSize(250, 150))
{
  Centre();
}
main.h
Kod:
#include <wx/wx.h>

class MyApp : public wxApp
{
  public:
    virtual bool OnInit();
};
main.cpp
Kod:
#include "main.h"
#include "simple.h"

IMPLEMENT_APP(MyApp)

bool MyApp::OnInit()
{
    Simple *simple = new Simple(wxT("Simple"));
    simple->Show(true);

    return true;
}
Błędy:
Kod:
mlody@debian:~/c++.wxwidgets/program$ g++ main.cpp main.h simple.cpp simple.h `wx-config --libs` `wx-config --cxxflags` -o simple
In file included from main.cpp:2:
simple.h:6: error: ISO C++ forbids declaration of ‘Simple’ with no type
main.cpp: In member function ‘virtual bool MyApp::OnInit()’:
main.cpp:9: error: ‘Simple’ was not declared in this scope
main.cpp:9: error: ‘simple’ was not declared in this scope
main.cpp:9: error: expected type-specifier before ‘Simple’
main.cpp:9: error: expected `;' before ‘Simple’
In file included from simple.cpp:1:
simple.h:6: error: ISO C++ forbids declaration of ‘Simple’ with no type
simple.cpp:3: error: ‘Simple’ has not been declared
simple.cpp:3: error: ISO C++ forbids declaration of ‘Simple’ with no type
simple.cpp: In function ‘int Simple(const wxString&)’:
simple.cpp:4: error: only constructors take base initializers
simple.cpp:4: error: ‘wxID’ was not declared in this scope
simple.cpp:6: error: ‘Centre’ was not declared in this scope
simple.h:6: error: ISO C++ forbids declaration of ‘Simple’ with no type

Wiem co kompilator chce mi przekazać ale nie wiem co zrobić żeby sie z nim dogadać. W końcu program pochodzi z podobno dobrego kursu więc powinien działać poprawnie. Może mi brakuje czegoś? Kompilowałem wxWidgets najnowszą wersję ze strony projektu.

Znajdzie się jakiś specjalista od wxWidgets?
(Ten post był ostatnio modyfikowany: 28.06.2009 10:18:32 przez mlodir.)
27.06.2009 17:38:37
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
mikolajs Offline
Użytkownik

Liczba postów: 22
Dołączył: 19-04-2009
Reputacja: 1
Post: #2
RE: wxWidgets - błędy programu z kursu
Nie znam się zbytnio na tej bibliotece, ale przychodzą mi do głowy dwa oczywiste możliwe problemy z którym sam się spotkałem:
1.Sprawdź czy nie masz literówek (jeśli to co wkleiłeś nie jest bezpośrednio z Twojego kodu)
2.Jeżeli skopiowałeś bezpośrednio kod przykładu ze strony, to możesz mieć w nim jakieś niedrukowane znaki (co dla kompilatora zmienia nazwy, możesz spróbować przepisać samodzielnie kod)

A poza tym lepiej przerzuć się na QT: lepsza dokumentacja, większe możliwości biblioteki, bardziej zrozumiały sposób działania, więcej ludzi którzy mogą coś podpowiedzieć.
27.06.2009 21:27:10
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
rydz Offline
Użytkownik

Liczba postów: 11
Dołączył: 14-12-2008
Reputacja: 2
Post: #3
RE: wxWidgets - błędy programu z kursu
Problem jest w samym poleceniu kompilacji.
Kod:
g++ main.cpp main.h simple.cpp simple.h `wx-config --libs` `wx-config --cxxflags` -o simple
Jest to bledne polecenie.
Dla kompilatora przekazujemy tylko same pliki .cpp, pliki naglowke sam kompilator automatycznie dolacza (a dokladnie preprocesor).
Wiec poprawne polecenie to
Kod:
g++ main.cpp simple.cpp -o wx `wx-config --libs --cxxflags`
(Ten post był ostatnio modyfikowany: 27.06.2009 21:34:25 przez rydz.)
27.06.2009 21:32:52
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
mlodir Offline
Użytkownik

Liczba postów: 138
Dołączył: 12-12-2008
Reputacja: 3
Post: #4
RE: wxWidgets - błędy programu z kursu
Niestety, po wyrzuceniu plików nagłówkowych kompilacja nadal nie przebiega pomyślnie. Kod przepisywałem ze strony kursu i jestem prawie pewny, że wszystko napisałem tak jak trzeba. Może faktycznie przejde na QT.

Zacząłem nawet czytać kurs QT....jakoś tak dziwnie...wszystko po polsku Tongue.
(Ten post był ostatnio modyfikowany: 27.06.2009 22:41:51 przez mlodir.)
27.06.2009 22:29:58
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
rydz Offline
Użytkownik

Liczba postów: 11
Dołączył: 14-12-2008
Reputacja: 2
Post: #5
RE: wxWidgets - błędy programu z kursu
(27.06.2009 22:29:58)mlodir napisał(a):  Niestety, po wyrzuceniu plików nagłówkowych kompilacja nadal nie przebiega pomyślnie. Kod przepisywałem ze strony kursu i jestem prawie pewny, że wszystko napisałem tak jak trzeba.
Ja skopiowalem tresc plikow .cpp i .h z tego tematu i kompiluje sie bez problemu.
Maly dowod
Kod:
rydz@nevil:/tmp/wxw$ ls
main.cpp  main.h  simple.cpp  simple.h
rydz@nevil:/tmp/wxw$ g++ main.cpp simple.cpp -o wx `wx-config --libs --cxxflags`
rydz@nevil:/tmp/wxw$ ./wx
   

Proponuje usuniecie biblioteke ktora zainstalowales recznie i zainstalowanie biblioteki
Kod:
sudo apt-get install libwxgtk2.8-dev
(Ten post był ostatnio modyfikowany: 28.06.2009 14:22:25 przez rydz.)
28.06.2009 08:27:25
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
mlodir Offline
Użytkownik

Liczba postów: 138
Dołączył: 12-12-2008
Reputacja: 3
Post: #6
RE: wxWidgets - błędy programu z kursu
Faktycznie, miałeś racje, przeinstalowałem wxWidgets i zadziałałoTongue wyskoczyło piękne okienko. Dzięki bardzo, temat do zamknięcia.
28.06.2009 10:17:48
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
Odpowiedz 


Podobne wątki
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  wxWidgets - Network Drraven 1 581 04.01.2012 17:57:12
Ostatni post: hkt
  [solved][BASH] aktualizowanie czasu co 10 min waldi11 2 394 19.11.2011 21:01:13
Ostatni post: waldi11
  [SOLVED][PHP] reCAPTCHA na ubuntu rryk 3 1 086 17.09.2010 12:05:04
Ostatni post: mati75
  [solved]QT - runtime error mlodir 7 1 264 28.07.2010 01:38:53
Ostatni post: mlodir
  [solved]QT4 + Sqlite mlodir 8 1 745 20.07.2010 14:26:56
Ostatni post: mikolajs
  [solved] skrypt uruchamiający kilka programów waldi11 2 1 318 17.06.2010 20:48:08
Ostatni post: waldi11
  [SOLVED][BASH/Python] Odejmowanie dat... rryk 3 1 633 13.04.2010 17:04:22
Ostatni post: mariom
  [SOLVED]BASH zamiana linijki zaczynającej się podanym wyrazem rryk 8 2 147 30.03.2010 20:25:56
Ostatni post: rryk
Star [SOLVED] [BASH] Flash switch elvis 2 826 10.03.2010 18:40:25
Ostatni post: elvis
  [SOLVED]BASH i zapisywanie zmiennej do pliku kudlaty9102 2 1 709 02.03.2010 22:31:14
Ostatni post: kudlaty9102

Skocz do:


Użytkownicy przeglądający ten wątek: 2 gości

Kontakt | Linux360.pl - forum | Wróć do góry | Wróć do forów | Wersja bez grafiki | RSS