Простейшее QT4 приложение

Исходный код

Создадим каталок проекта hello_world. В нем — подкаталог для исходных кодов src и файл src/hello.cpp и разместим там следующий код

#include <QApplication>
#include <QMainWindow>

int main(int argc, char *argv[]) {
    QApplication app(argc, argv);

    QMainWindow *mw = new QMainWindow(0, Qt::Window);

    mw->setWindowTitle("Hello WORLD");
    mw->resize(400, 300);
    mw->show();

    return app.exec();
}

Подготовка проекта

Создадим файл проекта

Debian, Ubuntu

Зайдем в каталог проекта и выполним в консоли

qmake-qt4 -project -recursive -o hello.pro

Утилита qmake-qt4 создаст файл проекта hello.pro

Mandriva

Зайдем в каталог проекта и выполним

/usr/lib/qt4/bin/qmake -project -recursive -o hello.pro

Утилита qmake создаст файл проекта hello.pro

Windows

 

Создание Makefile(конфиг сборки проекта)

Debian, Ubintu

qmake-qt4 -makefile -recursive

Mandriva

/usr/lib/qt4/bin/qmake -makefile -recursive

Windows

 

Сборка проекта

Debian, Ubintu, Mandriva

make

Должен быть примерно такой вывод в консоль (без сообщений об ошибках, в идеале и без warning ;-))

$ make
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/lib/qt4/mkspecs/linux-g++ -I. -I/usr/lib/qt4/include/QtCore -I/usr/lib/qt4/include/QtCore -I/usr/lib/qt4/include/QtGui -I/usr/lib/qt4/include/QtGui -I/usr/lib/qt4/include -I. -I. -I. -o hello.o src/hello.cpp
src/hello.cpp:15:4: warning: no newline at end of file
g++ -Wl,-rpath,/usr/lib/qt4/lib -o hello hello.o    -L/usr/lib/qt4/lib -lQtGui -L/usr/lib -L/usr/lib/qt4/lib -L/usr/X11R6/lib -lpng -lSM -lICE -lXi -lXrender -lXrandr -lXfixes -lXcursor -lXinerama -lfreetype -lfontconfig -lXext -lX11 -lQtCore -lz -lm -lrt -ldl -lpthread

Тут мы четко наблюдаем процесс компиляции и линковки.

В результате сборки должен появиться исполняемый файл hello

Windows

 

Запуск приложения

Debian, Ubintu, Mandriva

Просто запустить получившийся исполняемый файл

./hello

Windows

 

Результат работы

Если предыдущие пункты были успешны, результатом будет являться примерно такое окошко:


Добавить комментарий