Mengatasi Masalah Error Kompilasi QtWebKit

qt4Setelah mempelajari Java beberapa lama, saya kembali main ke Qt (hei, saya sekarang selalu ingat untuk menulis Qt, bukan qt atau QT. Thanks to Ariya for noticed this one 😉 ).

Ada satu project kantor yang sedang saya kerjakan yang ingin saya selesaikan menggunakan Qt.

Saya menggunakan Qt 4.4.0 yang saya install langsung dari file tar.gz dan dikonfigurasi agar menggunakan driver MySQL. Bisa saja saya menggunakan repositori openSUSE, namun konfigurasi manual via file tar.gz tetap menarik untuk dicoba karena fleksibel dan dapat diterapkan pada berbagai distro.

Kemarin saya mengalami error waktu menjalankan feature QtWebKit yang dapat digunakan untuk menampilkan website didalam aplikasi. Berikut adalah pesan kesalahan yang tampil saat melakukan kompilasi, baik
kompilasi secara manual maupun menggunakan IDE QDevelop :

vavai@vavai:~/qt/bios-qt/bios-desktop> qmake -o project
vavai@vavai:~/qt/bios-qt/bios-desktop> qmake
vavai@vavai:~/qt/bios-qt/bios-desktop> make

g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG
-DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED
-I/usr/local/qt4/mkspecs/linux-g++ -I. -I/usr/local/qt4/include/QtCore
-I/usr/local/qt4/include/QtCore -I/usr/local/qt4/include/QtGui
-I/usr/local/qt4/include/QtGui -I/usr/local/qt4/include -I. -I. -o
mybios.o mybios.cpp
In file included from /usr/local/qt4/include/QtWebKit/qwebpage.h:24,
from /usr/local/qt4/include/QtWebKit/qwebview.h:25,
from /usr/local/qt4/include/QtWebKit/QWebView:1,
from ui_mybios.h:19,
from mybios.h:6,
from mybios.cpp:2:
/usr/local/qt4/include/QtWebKit/qwebsettings.h:23:27: error: qwebkitglobal.h: No such file or directory
mybios.cpp:8: warning: unused parameter ‘parent’
make: *** [mybios.o] Error 1

Saya mencari beberapa solusi baik via Google maupun menggunakan arsip
pada forum Qt dan mailing list Qt. Karena tetap belum bisa selesai, saya mencoba posting ke milis qt-interest dan ternyata langsung direspon dalam waktu singkat. Berikut penyelesaiannya :

  1. Edit file *.pro setelah menjalankan “qmake -project” dan sebelum menjalankan”qmake”. Tambahkan kode ini :
    QT      +=  webkit
  2. Tambahkan file header QtWebKit pada file cpp yang memanggil QtWebView

#include <QtWebKit>

Setelah saya lakukan hal diatas, proses kompilasi berjalan normal tanpa ada masalah.


Terkait dengan QtWebKit ini, saya juga sempat melihat proyek BIOS (Billing Open Source), billing warnet yang dibuat oleh Budi Baliwae dan appreciated dengan proyek yang dia kembangkan. Kebetulan saya pernah bertemu dengannya bersama Willy (yang sama-sama penggemar Slack) di Yogyakarta waktu ILC 2007 dan saya melihat Budi sebagai sosok yang intens didunia Open Source.

Saat ini, proyek BIOS menggunakan PHP baik untuk klien maupun aplikasi servernya. Aplikasi klien menggunakan browser yang mengakses suatu link di server. Meski data tetap tersimpan di server, pengalaman saya, pengguna warnet seringkali malah menutup layar yang menampilkan jumlah biaya berjalan.

Penggunaan QtWebView bisa mengatasi masalah ini. Kita bisa membuat program kecil yang akan menonaktifkan fasilitas close secara tidak sengaja (dengan menangkap event close dan mengarahkannya ke kode lain). QtWebView digunakan untuk menampilkan layar biaya penggunaan warnet. Selain keuntungan tidak bisa ditutup secara sengaja atau tidak sengaja (bisa kita tambahkan exception dalam bentuk password misalnya), kita juga bisa mengatur lebar dan tinggi dari tampilan. Keuntungan lainnya, Qt bisa dijalankan secara mudah baik di
Windows maupun Linux.

2 thoughts on “Mengatasi Masalah Error Kompilasi QtWebKit

  1. Iya nih boss, kemarin bacanya sekip-sekip. Saya sudah ke dokumentasi itu tapi melompati bagian configuring build process. Yang saya lihat malah bagian contoh penggunaannya.

    Anyway, Qt memang menarik, menyenangkan.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.