[#] Kompilacja aplikacji w QT

( Ostatnio zmieniony śr., 11/06/2008 - 12:45 )
 

Zaczynając swoją przygodę z programowaniem od pisania prostych programów z użyciem biblioteki QT, już na samym początku mogą pojawić się problemy typu: Jak skompilować program używający tejże biblioteki ?

Przykład programu w QT: hello.cpp

#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();
}

Kompilacja:

g++ -o hello hello.cpp -lqt

oraz:

g++ -o hello hello.cpp -lqt-mt

Jeśli nie udała się kompilacja, czytaj dalej…

UWAGA:

Upewnij się czy na pewno posiadasz zainstalowany pakiet qt-devel
Jeśli nie, zainstaluj go. Pliki nagłówkowe znajdują się w katalogu: /usr/lib/qt-wersja/include/, natomiast biblioteka qt w /usr/lib/qt-wersja/lib/

Ponowne podejście do kompilacji, tym razem ze ścieżkami do bibliotek:

g++ hello.cpp -o hello -lqt-mt -I /usr/lib/qt-wersja/include/ -L /usr/lib/qt-wersja/lib/

lub:

g++ hello.cpp -o hello -lqt -I /usr/lib/qt-wersja/include/ -L /usr/lib/qt-wersja/lib/

Opcja -lqt-mt oraz -lqt jest zależna od dystrybucji na jakiej pracujemy.

Uruchomienie aplikacji:

./hello

Powinniśmy teraz ujrzeć małe okienko z przyciskiem i napisem „Hello world“.

Ułatwienia:
Nikt normalny nie będzie pisał za kazdym razem scieżek do biblioteki i plików nagłówkowych. Dodajmy zatem w pliku ~/.bashrc takie oto wpisy:

export QT_LIBS="-L /usr/lib/qt-wersja/lib/"
export QT_INCLUDES="-I /usr/lib/qt-wersja/include/"

Oczywiście nazwy zmiennych możemy modyfikować.

Teraz nasz program skompilujemy w następujący sposób:

g++  hello.cpp -o hellol $QT_INCLUDES $QT_LIBS -lqt-mt

lub:

g++  hello.cpp -o hellol $QT_INCLUDES $QT_LIBS -lqt
5
Twoja ocena: Brak Średnio: 5 (1 vote)