Hello Qt

2019年5月7日
$ mkdir hello
$ cd hello
$ vi hello.cpp

$ ls
./  ../  hello.cpp
$ qmake -project
$ ls
./  ../  hello.cpp  hello.pro
$ vi hello.pro

 hello.proの最終行に「QT += widgets」を追加する必要がある。「qmake hello.pro」コマンドを実行してMakefileを作成し、makeコマンドでビルドして実行ファイルを生成するが以下のようなエラーが発生してしまう。

$ make
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -I. -I. -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -isystem /usr/include/libdrm -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o hello.o hello.cpp
hello.cpp:1:10: fatal error: QApplication: そのようなファイルやディレクトリはありません
#include <QApplication>
^~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:364: hello.o] エラー 1

 qmake hello.proコマンドを実行してMakefileを作成し、makeコマンドでビルドして実行ファイルhelloを生成し、このファイルを実行する。

$ ls
./  ../  hello.cpp  hello.pro
$ qmake hello.pro
$ ls
./  ../  Makefile  hello.cpp  hello.pro
$ make
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -I. -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -isystem /usr/include/libdrm -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o hello.o hello.cpp
g++ -Wl,-O1 -o hello hello.o   -lQt5Widgets -lQt5Gui -lQt5Core /usr/lib/x86_64-linux-gnu/libGL.so -lpthread
$ ls
./  ../  Makefile  hello*  hello.cpp  hello.o  hello.pro
$ ./hello