QT


QtMQTT on Windows 10

Pada tutorial berikut ini, menggunakan QT versi 5.10.1 dengan mingw53_32.

Pada QT versi 5.10 atau lebih tinggi, tidak perlu menggunakan modul tambahan, cukup menambahkan baris berikut pada file project.

QT += mqtt

Untuk menggunakan MQTT pada QT, diperlukan QtMQTT module yang terinstall pada QT lib directory. Untuk memeriksa apakah module sudah terinstall, bisa dicek dengan melihat pada folder QT lib directory. Untuk mengetahui posisi QT lib directory, dapat menggunakan perintah berikut:

qmake -query QT_INSTALL_LIBS

Cek folder yang ditunjukkan, apakah file Qt5Mqtt.dll ada atau tidak. Jika belum ada, perlu install QtMQTT module tersebut. Download source code QT MQTT  dengan menggunakan git command:

git clone git://code.qt.io/qt/qtmqtt.git

Setelah selesai, pindah ke folder file qtmqtt.pro dengan menggunakan perintah cd, kemudian jalankan command berikut:

qmake
mingw32-make
mingw32-make install

Jika sudah selesai, cek lagi folder QT lib directory.


qt error: LNK1181: cannot open input file ‘shell32.lib’

Suatu saat, saya mendapatkan qt error: LNK1181: cannot open input file ‘shell32.lib’ ketika compiling dengan QT 5.9 dan MSVC2015 32bit. Untuk mengatasi masalah tersebut, dapat menambahkan library Microsoft SDKs pada file project.

Buka file project (biasanya berekstensi .pro), kemudian tambahkan library berikut ini:

win32:CONFIG(release, debug|release): LIBS += -L$$quote(C:/Program Files (x86)/Microsoft SDKs/Windows/v7.1A/Lib/) -lshell32
else:win32:CONFIG(debug, debug|release): LIBS += -L$$quote(C:/Program Files (x86)/Microsoft SDKs/Windows/v7.1A/Lib/) -lshell32

INCLUDEPATH += $$quote(C:/Program Files (x86)/Microsoft SDKs/Windows/v7.1A/Include)
DEPENDPATH += $$quote(C:/Program Files (x86)/Microsoft SDKs/Windows/v7.1A/Include)

Compile Qt dengan Static Library

  1. Yang pertama yang harus dilakukan adalah download komponen-komponen yang diperlukan.

– Download source Qt 4.8 (Pada kasus ini digunakan Qt 4.8).
– Download Perl
– Download MinGW-gcc440
– Download QT Creator

  1. Ekstrak source QT 4.8.
  2. Edit <QTDIR>\mkspecs\win32-g++\qmake.conf, ganti baris berikut:
    QMAKE_LFLAGS = -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc
    Menjadi:
    QMAKE_LFLAGS = -static -static-libgcc -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc
  3. Install Perl
  4. Buat file qtenv.bat (Pada kasus ini semua komponen yang diperlukan diletakkan di D:QtSDK)

echo off
echo Setting up environment for Qt Static
set QTDIR=D:\QtSDK\Desktop\Qt\4.8.0-static
set PATH=%QTDIR%\bin;%PATH%
set PATH=D:\QtSDK\Desktop\Qt\mingw\bin;%PATH%
set PATH=D:\QtSDK\perl\bin;%PATH%
set PATH=D:\QtSDK\perl\site;%PATH%

  1. Konfigurasi:

– Buka file qtenv.bat yang telah dibuat menggunakan Command Prompt.
– Masuk ke directory QT.
– Ketikkan perintah berikut:
configure -static -release -no-exceptions
Jika ingin menggunakan SQL gunakna perintah berikut:
configure -static -release -no-exceptions -qt-sql-sqlite -plugin-sql-sqlite -qt-sql-odbc -plugin-sql-odbc

  1. Build

– Setelah proses configure berhasil, ketikkan perintah berikut:
mingw32-make sub-src

– Tunggu sampai dan tidak ada yang error. Tahapan ini akan memakan waktu yang lama, sehingga bersabar saja menunggunya.

  1. Install QT Creator
  2. Cara konfigurasi pada Qt Creator:

– Buka QT Creator, pilih tools -> Options.
– Pilih Build & Run
– Buka tab Qt Versions, kemudian add -> buka file qmake.exe (biasanya ada di <QTDIR>/bin/qmake.exe).

13013106.01

– Buka tab Tool Chains, Add -> pilih MinGW. Pada compiler path, browse ke directory mingw berada.

13013106.02

– Kemudian Ok.

  1. Cara penggunaan:

– Tambahkan kode berikut pada project file:
CONFIG += static

– Untuk penggunaan SQL, tambahkan kode berikut (Sebagai contoh menggunakan sqlodbc):
Pada project file:
CONFIG += static
LIBS += -LD:/QtSDK/Desktop/Qt/4.8.0-static/plugins/sqldrivers/ libqsqlodbc
include(D:/QtSDK//Desktop/Qt/4.8.0-static/src/sql/drivers/odbc/qsql_odbc.pri)

   Pada main.cpp:
#include <QtPlugin>
Q_IMPORT_PLUGIN(qsqlodbc)


About Qt

Qt adalah sebuah aplikasi cross-platform dan UI framework. Dalam hal ini  termasuk cross-platform class library, development tools, dan IDE. Qt disusun menggunakan bahasa C++ dan dapat digunakan di platform Unix, Windows, Mac OS X, maupun embedded.

architecture

Berikut adalah link download yang berhubungan dengan Qt:
Qt SDK
Windows
Linux/X11 32-bit
Linux/X11 64-bit
Mac OS X 10.6 or later 64-bit

Qt libraries
Qt libraries 4.8.2 for Windows (minGW 4.4)
Qt libraries 4.8.2 for Windows (VS 2008,)
Qt libraries 4.8.2 for Windows (VS 2010)
Qt libraries 4.8.2 for Linux/X11
Qt libraries 4.8.2 for Mac
Qt libraries 4.8.2 for embedded Linux
Qt libraries 4.8.2 for Windows CE

Qt Creator IDE
Qt Creator 2.5.2 for Windows
Qt Creator 2.5.2 for Linux/X11 32-bit
Qt Creator 2.5.2 for Linux/X11 64-bit
Qt Creator 2.5.2 for Mac (Intel 32/64bit)