Portál AbcLinuxu, 13. května 2025 23:44
Zdravím, už umím zvládat "automatickou" deklaraci v IDE Kdevelop, avšak QtDesigner nic takového nemá. Namísto toho má uveden v manuálu postup, jak svůj projekt deklarovat v konsoli.
Jenomže podle toho postupu se mi nedaří zkompilovat ani ty obyčejné HelloWorld prográmky.
Postup uvedený v manuálu QtDesigneru spočívá v napsání do konzole těchto příkazů: qmake -project qmake make
U provádění toho příkazu make to vypíše chyby:
g++ -c -pipe -Wall -W -O2 -D_REENTRANT -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -DQT_TABLET_SUPPORT -I/usr/share/qt3/mkspecs/default -I. -I. -I/usr/include/qt3 -o main.o main.cpp main.cpp:1:25: error: QApplication: No such file or directory main.cpp:2:24: error: QPushButton: No such file or directory main.cpp:13:4: warning: no newline at end of file main.cpp: In function ‘int main(int, char**)’: main.cpp:6: error: ‘QApplication’ was not declared in this scope main.cpp:6: error: expected `;' before ‘app’ main.cpp:8: error: ‘QPushButton’ was not declared in this scope main.cpp:8: error: expected `;' before ‘hello’ main.cpp:9: error: ‘hello’ was not declared in this scope main.cpp:12: error: ‘app’ was not declared in this scope main.cpp: At global scope: main.cpp:4: warning: unused parameter ‘argc’ main.cpp:4: warning: unused parameter ‘argv’ make: *** [main.o] Error 1
Zdrojový kód HelloWorld programu je:
#include QApplication #include QPushButton int main(int argc, char *argv[]) { QApplication app(argc, argv); QPushButton hello("Hello world!"); hello.resize(100, 30); hello.show(); return app.exec(); }
Zkoušel jsem i HelloWorld prográmek s tímto kódem:
#include kapp.h #include kmainwindow.h int main (int argc, char **argv) { KApplication a (argc, argv, "Hello KWorld!"); KMainWindow *w = new KMainWindow(); w->setGeometry(100, 100, 200, 100); a.setMainWidget(w); w->show(); return a.exec(); }
A pak ještě i jiným způsobem. U všech způsobů to končí právě u toho příkazu make. Ale možná bude problém už i u příkazu qmake.
Zkoušel jsem však i jiné další možnosti použití g++ (např. přímo z tutorialu tady na ABClinuxu - Začínáme Kprogramovat), ale zatím vždycky jsem ztroskotal.
Prosím, napíšete mi tu nějaký zaručeně fungující způsob, jak mám tyhlety prográmky (a všechny další programy) zkompilovat? Anebo jestli si všímáte nějaké chyby, které jsem si nevšimnul, prosím, poradíte mi?
Děkuji.#include <QApplication.h> nebo #include "QApplication.h"include soubory mají většinou příponu .h
/**************************************************************** ** ** Qt tutorial 1 ** ****************************************************************/ #include <qapplication.h> #include <qpushbutton.h> int main( int argc, char **argv ) { QApplication a( argc, argv ); QPushButton hello( "Hello world!", 0 ); hello.resize( 100, 30 ); a.setMainWidget( &hello ); hello.show(); return a.exec(); }
Hmm, při vytváření dotazu jsem nevěděl, jak tam napsat toto: <>
Teďka už je to přímo nahoře v nabídce. Jinak nezkoušel jsem nikde předělávat žádné cesty. Předpokládám, že je to u toh příkazu g++. Hnedka to zkusím. Jinak někdo se ptal, jakou mám distribuci. Mám Kubuntu 7.04Aha, díky.
Ale musím vůbec používat ten qmake? Nešlo by to všechno jenom tím příkazem g++ z konzole? Kde nebo jak se naučím bez problému používat příkaz g++ v konzoli? Zatím jsem nic nenašel.
qmake
svým způsobem používat nemusíte, ale nevím, co tím chcete vyřešit.
Děkuji. Přivedl jste mě na správnou cestu. Mám nainstalovanou Qt3, ale v nápovědě Qt3Designeru jsem se nějak dostal k tutoriálu Qt4 ...
Teď jsem si našel tutorial pro Qt3 a zkusil jsem ten qmake a make a tentokrát to proběhlo v pořádku. Ještě jednou moc moc díky.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.