Strona 1 z 1

program w QT - bład przy "make"

: 19 października 2007, 10:18
autor: lexom
Witam, mam coś takiego:

Kod: Zaznacz cały

#include <qwidget.h>
#include <qapplication.h>
#include <qpushbutton.h>
#include <qfont.h>


class MojeOkno :p ublic QWidget
{
        public: MojeOkno();
        private: QPushButton *przycisk_koniec;
};


MojeOkno::MojeOkno()
{
        setGeometry(300,200,300,200);
        przycisk_koniec = new QPushButton("Koniec Programu",this);
        przycisk_koniec->setGeometry(20,20,260,100);
        przycisk_koniec->setFont(QFont("Times", 18,QFont::Bold));
}

int main(int argc, char **argv)
{
        QApplication okienko(argc,argv);
        MojeOkno plum;
        okienko.setMainWidget(&plum);
        plum.show();
        return okienko.exec();
}
Prymitywny program, których można znaleźć tysiące w internecie. Wydaje polecenia:

przy poleceniu make otrzymuje komunikat:

Kod: Zaznacz cały

g++ -c -pipe -Wall -W -O2 -D_REENTRANT  -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -I/usr/share/qt3/mkspecs/default -I. -I. -I/usr/share/qt3/include -o prog2.o prog2.cpp
make: g++: Polecenie nie znalezione
make: *** [prog2.o] Błąd 127
Co jest nie tak?

: 19 października 2007, 11:03
autor: salmon
make: g++: Polecenie nie znalezione
masz zainstalowane g++ ? Jeśli nie to wpisz w kosoli:
sudo aptitude install g++

: 19 października 2007, 11:27
autor: lexom
Doinstalowałem to g++. Teraz przy "make" mam:

Kod: Zaznacz cały

g++ -c -pipe -Wall -W -O2 -D_REENTRANT  -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -I/usr/share/qt3/mkspecs/default -I. -I. -I/usr/share/qt3/include -o prog2.o prog2.cpp
prog2.cpp:1:26: error: qapplication.h: Nie ma takiego pliku ani katalogu
prog2.cpp:2:21: error: qwidget.h: Nie ma takiego pliku ani katalogu
prog2.cpp:3:25: error: qpushbutton.h: Nie ma takiego pliku ani katalogu
prog2.cpp:4:19: error: qfont.h: Nie ma takiego pliku ani katalogu
prog2.cpp:8: error: expected class-name before ‘{’ token
prog2.cpp:10: error: ISO C++ forbids declaration of ‘QPushButton’ with no type
prog2.cpp:10: error: expected ‘;’ before ‘*’ token
prog2.cpp: In constructor ‘MojeOkno::MojeOkno()’:
prog2.cpp:16: error: ‘setGeometry’ was not declared in this scope
prog2.cpp:17: error: ‘przycisk_koniec’ was not declared in this scope
prog2.cpp:17: error: expected type-specifier before ‘QPushButton’
prog2.cpp:17: error: expected `;' before ‘QPushButton’
prog2.cpp:19: error: ‘QFont’ has not been declared
prog2.cpp:19: error: ‘QFont’ was not declared in this scope
prog2.cpp: In function ‘int main(int, char**)’:
prog2.cpp:24: error: ‘QApplication’ was not declared in this scope
prog2.cpp:24: error: expected `;' before ‘okienko’
prog2.cpp:26: error: ‘okienko’ was not declared in this scope
prog2.cpp:27: error: ‘class MojeOkno’ has no member named ‘show’
prog2.cpp: At global scope:
prog2.cpp:22: warning: unused parameter ‘argc’
prog2.cpp:22: warning: unused parameter ‘argv’
make: *** [prog2.o] Błąd 1

: 19 października 2007, 11:40
autor: salmon
Masz zainstalowane pliki nagłówkowe Qt? Jeżeli nie to:
sudo aptitude install libqt3-mt-dev

: 19 października 2007, 12:07
autor: lexom
make przeszedł. jak chce odpalić program otrzymuje:

Kod: Zaznacz cały

Xlib: connection to ":0.0" refused by server
Xlib: Invalid MIT-MAGIC-COOKIE-1 key
prog2: cannot connect to X server :0.0
Używam XFCE.

Już chyba wiem, nie można odpalać programu jako root ;)

: 19 października 2007, 12:22
autor: ruun
[quote="lexom"]Już chyba wiem, nie można odpalać programu jako root ]

Dla uściślenia: nie można uruchamiać programu x'owego jako inny użytkownik.

: 04 listopada 2007, 16:20
autor: arctgx
ruun pisze:
Dla uściślenia: nie można uruchamiać programu x'owego jako inny użytkownik.
Jeśli dasz polecenie "xhost +", to można.

: 05 listopada 2007, 14:19
autor: Stawi

Kod: Zaznacz cały

su -p
dziala rownie dobrze ;)