Bagaimana cara menambahkan path include dalam Qt Creator?

160

Saya punya proyek yang sedang saya kerjakan di pencipta Qt yang membutuhkan perpustakaan pihak ketiga. Saya ingin menambahkan header ke jalur sertakan untuk proyek. Bagaimana saya melakukan ini?

Nathan Osman
sumber

Jawaban:

232

Jika Anda menggunakan qmake, sistem build Qt standar, cukup tambahkan baris ke .profile seperti yang didokumentasikan dalam Referensi Variabel qmake :

INCLUDEPATH += <your path>

Jika Anda menggunakan sistem build Anda sendiri, Anda membuat proyek dengan memilih "Impor proyek berbasis Makefile". Ini akan membuat beberapa file di direktori proyek Anda termasuk file bernama <your project name>.includes. Dalam file itu, cukup daftarkan jalur yang ingin Anda sertakan, satu jalur per baris. Sebenarnya yang dilakukan adalah memberi tahu Qt Creator tempat mencari file yang akan diindeks untuk penyelesaian otomatis. Sistem build Anda sendiri harus menangani path include dengan caranya sendiri.

Seperti yang dijelaskan dalam Qt Creator Manual , <your path>harus menjadi jalur absolut, tetapi Anda dapat menghindari entri spesifik OS, host atau pengguna dalam .profile Anda dengan menggunakan $$PWDyang merujuk ke folder yang berisi .profile Anda , misalnya

INCLUDEPATH += $$PWD/code/include
Jason B
sumber
2
Baik. Ini akan bekerja untuk saya. Apakah ada pengaturan global untuk menyertakan jalur?
Nathan Osman
Bukan yang saya tahu, tapi itu tidak berarti tidak ada. Saya tidak melihat apa pun di opsi yang terlihat seperti itu.
Jason B
3
Lupakan. Jawaban Anda menyebutkan INCLUDE_PATHtetapi maksud AndaINCLUDEPATH . Saya akan memperbaiki jawaban Anda :)
Nathan Osman
6
Lebih baik menggunakan QMAKE_CXXFLAGSvariabel sebagai gantinya, karena INCLUDEPATHbuggy (setidaknya saat ini - QT5). Yaitu ketika saya termasuk INCLUDEPATH += ../../../, QT hanya direktori yang dipilih secara acak di jalur ini, dan kompiler mendapat opsi -I../../../GUI.
Hi-Angel
4
@ Hi-Angel: Tampaknya yang INCLUDEPATHditentukan relatif terhadap direktori build, bukan relatif ke direktori dengan yang .prodapat diasumsikan dengan mudah. Seperti yang ditunjukkan pada edit saya pada jawabannya, Anda dapat menggunakan `$$ PWD 'untuk mendapatkan folder yang ditentukan dengan jelas untuk memulai path include.
ssc
6

Untuk menambahkan global include path, gunakan perintah kustom untuk qmake di bagian Proyek / Bangun / Bangun Langkah di "Argumen tambahan" seperti ini: "QT+=your_qt_modules" "DEFINES+=your_defines"

Saya pikir Anda dapat menggunakan perintah apa pun dari file * .pro dengan cara itu.

Alex Maltsev
sumber
5

Bagi siapa pun yang sama sekali baru untuk Qt Creator seperti saya, Anda dapat memodifikasi file .pro proyek Anda dari dalam Qt Creator:

masukkan deskripsi gambar di sini

Cukup klik dua kali pada "nama proyek Anda" .pro di jendela Projects dan tambahkan path include di bagian bawah file .pro seperti yang telah saya lakukan.

Adam
sumber
5
Menggunakan jalur file absolut adalah ide yang sangat buruk. Selalu mencoba menggunakan sistem jalur file relatif. QT dirancang sebagai platform silang. Dan jika Anda mengkompilasi kode yang sama pada mesin Linux, kompiler akan gagal menemukan nama-nama file seperti C: \ Selain itu, bahkan jika Anda mengganti nama folder sumber atau memindahkannya ke tempat lain di komputer Anda sendiri, itu masih akan gagal, dan Anda harus mengedit file .pro setiap kali
Shivam Jha
0

Jika Anda menggunakan Makefiles khusus, Anda dapat mengklik dua kali pada file .includes dan menambahkannya di sana.

karsten
sumber