[HELP] Deploy aplikasi QT C++ GUI

Tempat nongkrong. Diskusi bebas di luar topik.
User avatar
AzrulHaifan
Posts: 97
Joined: 24 May 2013, 06:35
Location: Gresik, Indonesia
Contact:

[HELP] Deploy aplikasi QT C++ GUI

Postby AzrulHaifan » 01 Jun 2014, 12:22

Assalamualaikum wr.wb
Sebelumnya ijinkan saya menjelaskan situasinya dulu.
Jadi begini, kan saya sudah buat aplikasi sederhana di QT, terus saya build dengan release mode. kemudian binarynya saya kopi ke komputer lain yang masih fresh install. Kok gak bisa di run yah ? Kalau diwindows itu bisa dianggap kurang file dll gitu. tapi bukan kah build release mode itu sudah bisa menghasilkan satu program yang siap run ?

Saya sudah pernah coba-coba untuk memakai perintah "make" di terminal tapi juga ga bisa, "make" nya gak jalan. saya sudah pusing berkeliling google dan youtube, tapi masih bingung.

Saya mohon bagi akang-akang yang mungkin memiliki ilmu dalam pemrograman qt ini kiranya memberi pemecahan, sekian dari saya. Terimakasih
Wassalamualaikum wr.wb !!
User avatar
nif
Posts: 2816
Joined: 31 Mar 2011, 07:48

Re: [HELP] Deploy aplikasi QT C++ GUI

Postby nif » 01 Jun 2014, 13:16

saya enggak paham Qt, tapi coba jawab secara umum.

kalo setau saya, jenis penanganan library ada 2; static linking dan dinamic linking.

kalo static, berarti kopian library disertakan langsung bersama aplikasi. akibatnya ukuran aplikasi jadi lebih besar, tapi jadi tak butuh adanya library di komputer tujuan.

sedangkan dinamic, berarti aplikasi tersebut tidak menyertakan library, melainkan akan menggunakan shared library di komputer tujuan.

lebih lengkapnya coba dibaca di sini : http://www.learncpp.com/cpp-tutorial/a1 ... libraries/

nah, mengenai masalah di atas, saya rasa itu juga karena masalah library.
kemungkinan aplikasi tsb di-compile dengan dinamic linking, sedangkan di komputer tujuan di mana aplikasi tersebut coba dijalankan itu, belum terinstall shared library Qt. makanya enggak jalan.


cmiiw
User avatar
AzrulHaifan
Posts: 97
Joined: 24 May 2013, 06:35
Location: Gresik, Indonesia
Contact:

Re: [HELP] Deploy aplikasi QT C++ GUI

Postby AzrulHaifan » 01 Jun 2014, 14:40

Sangat bermanfaat kang.
Terimakasih telah menjawab pertanyaan saya.
sekarang jadi bisa cari-cari di google dengan keyword berbeda. (Y)
User avatar
Malsasa
Posts: 2971
Joined: 07 Jun 2010, 22:37
Location: Mojokerto, Indonesia
Contact:

Re: [HELP] Deploy aplikasi QT C++ GUI

Postby Malsasa » 01 Jun 2014, 17:19

Saya senang mendengar

"...sekarang jadi bisa cari-cari di google dengan keyword berbeda..."

Terasa betul manfaatnya forum.
User avatar
baddwin
Posts: 55
Joined: 03 Aug 2010, 19:47
Location: batang berkembang
Contact:

Re: [HELP] Deploy aplikasi QT C++ GUI

Postby baddwin » 02 Jun 2014, 01:33

nif wrote:~~~
nah, mengenai masalah di atas, saya rasa itu juga karena masalah library.
kemungkinan aplikasi tsb di-compile dengan dinamic linking, sedangkan di komputer tujuan di mana aplikasi tersebut coba dijalankan itu, belum terinstall shared library Qt. makanya enggak jalan.


kang @nif benar. kalau untuk Qt, kang @AzrulHaifan bisa menyertakan pustaka-pustaka Qt di folder yang sama dengan hasil kompil. coba jalankan perintah:

Code: Select all

ldd hasilkompil

nanti ketahuan pustaka apa saja yang dibutuhkan untuk menjalankan hasil kompil tersebut, dan file-file pustaka yang tercetak di layar bisa disalin.

kalau ingin menggabungkan pustaka-pustaka Qt ke dalam file executable, sehingga hasil kompil bisa langsung dideploy tanpa mengikutsertakan pustaka, kita perlu mengompilasi sendiri Qt framework agar bisa melakukan static build
User avatar
nif
Posts: 2816
Joined: 31 Mar 2011, 07:48

Re: [HELP] Deploy aplikasi QT C++ GUI

Postby nif » 02 Jun 2014, 16:00

miraiE wrote:...
kalau ingin menggabungkan pustaka-pustaka Qt ke dalam file executable, sehingga hasil kompil bisa langsung dideploy tanpa mengikutsertakan pustaka, kita perlu mengompilasi sendiri Qt framework agar bisa melakukan static build

oh, apakah yang pre-compiled enggak mengizikan option static linking? :confused:

dan btw, untuk Qt, apa ada syarat tertentu (lisensi, dll) untuk digunakan di aplikasi static build?
User avatar
AzrulHaifan
Posts: 97
Joined: 24 May 2013, 06:35
Location: Gresik, Indonesia
Contact:

Re: [HELP] Deploy aplikasi QT C++ GUI

Postby AzrulHaifan » 02 Jun 2014, 19:55

miraiE wrote:kang @nif benar. kalau untuk Qt, kang @AzrulHaifan bisa menyertakan pustaka-pustaka Qt di folder yang sama dengan hasil kompil. coba jalankan perintah:

Code: Select all

ldd hasilkompil

nanti ketahuan pustaka apa saja yang dibutuhkan untuk menjalankan hasil kompil tersebut, dan file-file pustaka yang tercetak di layar bisa disalin.


Salah satu dari sekian pustakanya adalah file "libQt5Widgets.so.5".
saya rasa terlalu banyak untuk mengkopinya sehingga dapat membuat size aplikasi menjadi besar, sangat tidak sebanding dengan size aplikasi yang tidak mencapai 1 MB. yang ingin saya tanyakan lagi, tidak adakah paket .deb yang menginstall pusataka tersebut ?

sehingga nanti bisa dijadikan requirement dari aplikasi saya. sekian.
Terimakasih telah menjawab pertanyaan saya sebelumnya :)
User avatar
Malsasa
Posts: 2971
Joined: 07 Jun 2010, 22:37
Location: Mojokerto, Indonesia
Contact:

Re: [HELP] Deploy aplikasi QT C++ GUI

Postby Malsasa » 02 Jun 2014, 20:49

Jadi akang sudah pakai Qt 5? Saya masih pakai 4.8.

Dalam masalah ini, paketkan saja aplikasi akang apa adanya. Nanti sistem apt di komputer target yang akan menyelesaikan dependensinya secara otomatis.

Kalau nggak mau gitu, lakukan saran akang miraiE: kompil Qt library secara static.

Kedua-duanya butuh pengorbanan. Silakan pertimbangkan sendiri.
User avatar
AzrulHaifan
Posts: 97
Joined: 24 May 2013, 06:35
Location: Gresik, Indonesia
Contact:

Re: [HELP] Deploy aplikasi QT C++ GUI

Postby AzrulHaifan » 03 Jun 2014, 08:55

Malsasa wrote:Jadi akang sudah pakai Qt 5? Saya masih pakai 4.8.

Dalam masalah ini, paketkan saja aplikasi akang apa adanya. Nanti sistem apt di komputer target yang akan menyelesaikan dependensinya secara otomatis.

Kalau nggak mau gitu, lakukan saran akang miraiE: kompil Qt library secara static.

Kedua-duanya butuh pengorbanan. Silakan pertimbangkan sendiri.


Iya kang, saya memakai QT 5.Saya sudah mencari banyak tutorial untuk melakukan static build, namun untuk tutorial di linux itu bener-bener susah didapat. rata-rata kebanyakan static build tutorial dijalankan di windows. dan itu sudah tentu sangat berbeda.

kalau memaketkan apa adanya itu artinya aplikasinya dijadiin .deb yah ?
saya masih nggak bisa :cry:
User avatar
Malsasa
Posts: 2971
Joined: 07 Jun 2010, 22:37
Location: Mojokerto, Indonesia
Contact:

Re: [HELP] Deploy aplikasi QT C++ GUI

Postby Malsasa » 03 Jun 2014, 09:00

Ya, dijadikan .deb. Ya memang itulah pemaketan. Enaknya sistem dynamic seperti paket-paket deb ini adalah resolving dependensi kita tidak perlu urus. Yang mengurus nanti adalah sistem manajemen paket pada sistem target. Sama halnya dengan Otodidak.

Yakin static build hanya ada di Windows?

http://qt-project.org/doc/qt-5/linux-deployment.html

http://www.qtcentre.org/wiki/index.php? ... t_on_Linux

https://www.madsoft.org/2011/10/16/buil ... -on-linux/

https://www.madsoft.org/2011/10/29/stat ... -on-linux/

Silakan perbanyak latihan gugling.
User avatar
AzrulHaifan
Posts: 97
Joined: 24 May 2013, 06:35
Location: Gresik, Indonesia
Contact:

Re: [HELP] Deploy aplikasi QT C++ GUI

Postby AzrulHaifan » 03 Jun 2014, 09:25

Malsasa wrote:Yakin static build hanya ada di Windows?

Bukan nya yakin, saya hanya bilang susah bukan ?

Tapi saya lebih sering cari tutorial video, maka dari itu susah.
Tapi sekali lagi terimakasih :)
User avatar
Malsasa
Posts: 2971
Joined: 07 Jun 2010, 22:37
Location: Mojokerto, Indonesia
Contact:

Re: [HELP] Deploy aplikasi QT C++ GUI

Postby Malsasa » 03 Jun 2014, 09:36

Iya. Siapkan kamus saja. Bahasa Inggrisnya cukup mudah dibaca kok, Kang.
User avatar
AzrulHaifan
Posts: 97
Joined: 24 May 2013, 06:35
Location: Gresik, Indonesia
Contact:

Re: [HELP] Deploy aplikasi QT C++ GUI

Postby AzrulHaifan » 03 Jun 2014, 09:47

Saya akan belajar pemaketan .deb dulu aja.
Siapa tau menjadi lebih muda untuk deployment nantinya.
User avatar
Malsasa
Posts: 2971
Joined: 07 Jun 2010, 22:37
Location: Mojokerto, Indonesia
Contact:

Re: [HELP] Deploy aplikasi QT C++ GUI

Postby Malsasa » 03 Jun 2014, 09:47

User avatar
AzrulHaifan
Posts: 97
Joined: 24 May 2013, 06:35
Location: Gresik, Indonesia
Contact:

Re: [HELP] Deploy aplikasi QT C++ GUI

Postby AzrulHaifan » 03 Jun 2014, 16:47

Oke kang malsasa, terimakasih.
Sekalian saya mau tanya-tanya diblognya, soalnya kalau tanya disini ntr OOT, hehe

mohon dijawabyah ..
User avatar
Malsasa
Posts: 2971
Joined: 07 Jun 2010, 22:37
Location: Mojokerto, Indonesia
Contact:

Re: [HELP] Deploy aplikasi QT C++ GUI

Postby Malsasa » 04 Jun 2014, 16:00

Saya sudah menjawab pertanyaan akang di blog saya. Berikut salinannya.

Pertanyaan:

Code: Select all

Kang, jadi gini.
kan saya mau buat paket deb dari aplikasi qt saya, seperti yang sudah dibahas di forum ubuntu-indonesia. Sebelum melangkah ke pemaketan. saya ingin tanya masalah dependensinya.

Seperti yang diketahui, aplikasi yang di release dari qt membutuhkan pustaka. dan ini adalah sebagaian output requirement pustaka yang saya dapat dari perintah �ldd� aplikasi saya.
_________________________________________________________________
linux-gate.so.1 => (0xb77b5000)
libQt5Widgets.so.5 => /usr/lib/i386-linux-gnu/libQt5Widgets.so.5 (0xb7173000)
libQt5Gui.so.5 => /usr/lib/i386-linux-gnu/libQt5Gui.so.5 (0xb6d1b000)
libQt5Core.so.5 => /usr/lib/i386-linux-gnu/libQt5Core.so.5 (0xb6884000)
libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xb679b000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xb677e000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb65cf000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb65b3000)
libgobject-2.0.so.0 => /usr/lib/i386-linux-gnu/libgobject-2.0.so.0 (0xb6560000)
libglib-2.0.so.0 => /lib/i386-linux-gnu/libglib-2.0.so.0 (0xb6454000)
__________________________________________________________________

nah apakah kita tidak perlu mengurus pustaka-pusataka tersebut. atau kita kopi semua pustakanya ke pemaketan juga ? atau menggunakan dependensi untuk menginstall pusataka itu ke komputer tujuan.

Pada tutorial lain yang saya baca, pada file kontrol, disitu juga ditulisakan dependency dari aplikasi kita juga. Mohon bantuanya


Jawaban:

Code: Select all

1) Apa tidak perlu mengurus? Tidak perlu. Sekali daftar dependensi dicantumkan di control di dalam paket, nanti apt di sistem target akan otomatis mengunduhkan semua dependensi yang dibutuhkan.

2) Apa kita kopi saja pustakanya dalam paket? Ini bisa dilakukan tetapi dikhawatirkan menyalahi lisensi dari setiap pustaka yang dilibatkan.

3) Saran saya: bacalah banyak-banyak tutorial/trid deploying di qt-project.org. Di sana dijelaskan panjang lebar teknik-tekniknya untuk Ubuntu. Jangan mudah menyerah.


Sumber: http://malsasa.wordpress.com/2013/12/25 ... mment-1932
User avatar
AzrulHaifan
Posts: 97
Joined: 24 May 2013, 06:35
Location: Gresik, Indonesia
Contact:

Re: [HELP] Deploy aplikasi QT C++ GUI

Postby AzrulHaifan » 04 Jun 2014, 16:40

Berarrti kita harus menuliskan dependensi dari aplikasi kita di file kontrol bukan ?

Sedangkan saya tidak tau paket yang menginstall dependensinya apa saja.
User avatar
Malsasa
Posts: 2971
Joined: 07 Jun 2010, 22:37
Location: Mojokerto, Indonesia
Contact:

Re: [HELP] Deploy aplikasi QT C++ GUI

Postby Malsasa » 04 Jun 2014, 17:57

Makanya saya tulis poin 3) tadi.
User avatar
AzrulHaifan
Posts: 97
Joined: 24 May 2013, 06:35
Location: Gresik, Indonesia
Contact:

Re: [HELP] Deploy aplikasi QT C++ GUI

Postby AzrulHaifan » 05 Jun 2014, 05:11

Oke terimakasih kang
User avatar
baddwin
Posts: 55
Joined: 03 Aug 2010, 19:47
Location: batang berkembang
Contact:

Re: [HELP] Deploy aplikasi QT C++ GUI

Postby baddwin » 07 Jun 2014, 20:50

nif wrote:oh, apakah yang pre-compiled enggak mengizikan option static linking?

dan btw, untuk Qt, apa ada syarat tertentu (lisensi, dll) untuk digunakan di aplikasi static build?


[1]: librari Qt versi open source prebuilt harus dinamic linking kang nif, ini sesuai dengan lisensi open source, setahu saya begitu :grin:
[2]: static build sebenarnya untuk lisensi LGPL, yang notabene versi berbayar.

kebetulan hari ini saya memposting di blog cara build Qt sendiri, tapi buat windows.. hehe.
tapi secara umum perintah `configure`nya sama kok.

kebetulan juga ini saya lagi kompil Qt static, di window juga.

Librari Qt widgets, Gui, dan Core sebenarnya masih tergolong berukuran kecil, nah terutama di Qt 5, yang ukurannya terbesar adalah libicuXX.so atau dll kalau di windows. makanya ini saya lagi compile sendiri, soalnya bisa menghilangkan ketergantungan `libicu` itu. argumen configure adalah -no-icu, khusus di Qt 5. karena saya coba di Qt 4 tidak ada opsi itu.

bocoran configure saya di windows:

Code: Select all

configure -opensource -confirm-license -platform win32-msvc2010 -make libs
-qt-libjpeg -qt-libpng -no-openssl -no-icu -qt-zlib -qt-pcre -no-iconv
-nomake examples -nomake tests -no-angle -opengl desktop -no-rtti -no-dbus -strip
-plugin-sql-sqlite -skip qtconnectivity -skip qtlocation -skip qtx11extras

Return to “Pembicaraan Bebas”

Who is online

Users browsing this forum: Alexissmi, Vichlisrw and 12 guests