windows ortamı için bir kontrol akışı (if) aşağıdaki gibi oluşturabliyoruz
win32{ SOURCES+="win32kayak.cpp" }
Burada "win32" şartımızı oluşturur. Eğer ortam win32 ise blok içerindeki kodlar çalışır.
Döngü oluşturmak için ise "for" anahtar kelimesi kullanılır
EXTRAS = handlers tests docs for(dir, EXTRAS) { exists($$dir) { SUBDIRS += $$dir } }
Yukarıdaki kodu şu şekilde açıklayabiliriz. EXTRAS adındaki değişkene liste halinde değerler kaydediyoruz. Bu değerler her bir for döngüsü için "dir" değişkenine kaydediliyor. "dir" değişkeni dahili bir fonksiyon olan exists fonfksiyonu ile dizinin geçerli olması halinde SUBDIRS değişkenine kaydediliyor. Burada dikkat edilmesi gereken bir diğer önemli nokta bir değişkenin değerini okumamız gerektiğinde önünde $$ karakterinin olması gerektiğidir. Bir diğer dahili fonksiyonda include fonksiyonudur. Bu fonksiyon yardımı ile diğer ".pro" uzantılı proje dosyalarını proje dosyasına dahil edebiliriz.
PROJE ŞABLONLARI
ŞABLON | AÇIKLAMA |
---|---|
app(öntanımlı) | proje dosyası bir uygulama makefile dosyası oluşturur. |
app(öntanımlı) | proje dosyası bir kütüphane dosyası oluşturur. |
lib | proje dosyası bir kütüphane dosyası oluşturur. |
subdirs | Her alt klasörün kendi proje dosyasını içerdiği ve SUBDIRS değişkeni ile bu klasörlerin gösterildiği makefile dosyası oluşturur. |
CONFIG değişkeni program için gerekli birçok değer alabilir. debug değişkeni atanarak programın debug modda derlenmesi veya release değişkeni atanarak release modda derlenmesi sağlanabilir. QT kütüphaneerinin eklenmesi için qt değişkeni atanabilir. qt değişkeni atandığnda otomatik olarak core ve gui modülleri eklenir. Diğer modülleri eklemek için bundan sonra QT değişkeni kullanılabilir. CONFIG'e thread değişkeni eklendiğinde programın multithread yapabiliriz. QT değişkeninden öntanımlı bir modülü çıkarmak iin QT-=qui şeklinde kod kullanabilir. Diğer eklenebilen modüller ise aşağıda listeleniyor.
core (öntanımlı) | QtCore module |
gui (öntanımlı) | QtGui module |
network | QtNetwork module |
opengl | QtOpenGL module |
sql | QtSql module |
svg | QtSvg module |
xml | QtXml module |
xmlpatterns | QtXmlPatterns module |
qt3support | Qt3Support module |
Diğer kütüphane veya başlık dosyalarını eklemek için aşağıdaki kodu kullanabiliriz
LIBS += -L/usr/local/lib -lmath INCLUDEPATH = c:/msdev/include d:/stl/include