Ini adalah perintah moc-qt5 yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS
PROGRAM:
NAMA
moc - menghasilkan kode dukungan objek meta Qt
RINGKASAN
kekuasaan [-o berkas] [-i] [-f] [-k] [-ldbg] [-nw] [-p jalur] [-q jalur] [-v] berkas
DESKRIPSI
Halaman ini mendokumentasikan meta obyek Penyusun untuk kerangka aplikasi Qt GUI. NS kekuasaan
membaca satu atau lebih deklarasi kelas C++ dari header C++ atau file sumber dan menghasilkan
satu file sumber C++ yang berisi informasi objek meta untuk kelas. Sumber C++
file yang dihasilkan oleh kekuasaan harus dikompilasi dan ditautkan dengan implementasi kelas
(atau dapat #disertakan ke dalam file sumber kelas).
Jika Anda menggunakan qmake untuk membuat Makefile Anda, aturan build akan disertakan yang memanggil kekuasaan
saat diperlukan, jadi Anda tidak perlu menggunakan kekuasaan langsung.
Singkatnya, sistem objek meta adalah struktur yang digunakan oleh Qt (lihat http://doc.trolltech.com)
untuk pemrograman komponen dan informasi jenis waktu berjalan. Itu menambah properti dan
informasi warisan ke (beberapa) kelas dan menyediakan jenis komunikasi baru antara
contoh-contoh dari kelas tersebut, koneksi sinyal-slot.
PILIHAN
-o fillet
Tulis keluaran ke fillet daripada ke stdout.
-f Paksa pembuatan pernyataan #include di output. Ini defaultnya
untuk file yang namanya cocok dengan ekspresi reguler .[hH][^.]* (yaitu ekstensi
dimulai dengan H or h ). Opsi ini hanya berguna jika Anda memiliki file header yang melakukannya
tidak mengikuti konvensi penamaan standar.
-i Jangan membuat pernyataan #include di output. Ini dapat digunakan untuk berlari kekuasaan
pada file C++ yang berisi satu atau lebih deklarasi kelas. Anda kemudian harus #menyertakan
kode objek meta dalam file .cpp (lihat PENGGUNAAN di bawah). Jika keduanya -f dan -i adalah
hadir, yang terakhir menang.
-nw Jangan menghasilkan peringatan apa pun. Tidak direkomendasikan.
-ldbg Tulis banjir informasi debug lex ke stdout.
-p path
Membuat kekuasaan tambahkan path/ ke nama file dalam pernyataan #include yang dihasilkan (jika
satu dihasilkan).
-q path
Membuat kekuasaan tambahkan path/ ke nama file qt #sertakan file yang dihasilkan
kode.
-v Menampilkan versi kekuasaan dan Qt.
Anda dapat secara eksplisit memberi tahu kekuasaan untuk tidak mengurai bagian dari file header. Ia mengenali setiap C++
komentar (//) yang berisi substring MOC_SKIP_BEGIN atau MOC_SKIP_END. Mereka bekerja seperti Anda
harapkan dan Anda dapat memiliki beberapa tingkat dari mereka. Hasil bersih seperti yang terlihat oleh kekuasaan is
seolah-olah Anda telah menghapus semua baris antara MOC_SKIP_BEGIN dan MOC_SKIP_END
PENGGUNAAN
kekuasaan hampir selalu dipanggil oleh membuat(1), bukan dengan tangan.
kekuasaan biasanya digunakan dengan file input yang berisi deklarasi kelas seperti ini:
class YourClass : QObject publik {
Q_OBJEK
Q_PROPERTI( ... )
Q_CLASSINFO( ... )
publik:
Kelas Anda( QObject * parent=0, const char * name=0 );
~Kelas Anda();
sinyal:
slot publik:
};
Berikut adalah aturan makefile yang berguna jika Anda hanya menggunakan GNU make:
m%.cpp: %.h
moc $< -o $@
Jika Anda ingin menulis secara portabel, Anda dapat menggunakan aturan individual dari formulir berikut:
mNAME.cpp: NAMA.h
moc $< -o $@
Anda juga harus ingat untuk menambahkan mNAME.cpp ke SUMBER Anda (ganti nama favorit Anda)
variabel dan mNAME.o ke variabel OBJEK Anda.
(Meskipun kami lebih suka menamai file sumber C++ kami .cpp, kekuasaan tidak tahu itu, jadi kamu bisa
gunakan .C, .cc, .CC, .cxx atau bahkan .c++ jika Anda mau.)
Jika Anda memiliki deklarasi kelas dalam file C++, kami sarankan Anda menggunakan aturan makefile
seperti ini:
NAMA.o: mNAME.cpp
mNAME.cpp: NAMA.cpp
moc -i $< -o $@
Ini menjamin bahwa membuat(1) akan menjalankan kekuasaan sebelum dikompilasi NAMA.cpp. Anda bisa melakukannya
menempatkan
#sertakan "nNAME.cpp"
pada akhir NAMA.cpp, di mana semua kelas yang dideklarasikan dalam file itu sepenuhnya diketahui.
DIAGNOSTIK
Terkadang Anda mungkin mendapatkan kesalahan tautan, dengan mengatakan bahwa Kelas Anda::namakelas() tidak terdefinisi atau
bahwa YourClass tidak memiliki vtbl. Kesalahan itu paling sering terjadi ketika Anda lupa untuk mengkompilasi
kode C++ yang dihasilkan moc atau sertakan file objek itu dalam perintah tautan.
The kekuasaan akan memperingatkan Anda tentang sejumlah konstruksi berbahaya atau ilegal.
Gunakan moc-qt5 online menggunakan layanan onworks.net