Çarşamba, 15 Mayıs 2013 00:00

Qmake ön tanımlı fonksiyonlar ve kontrol akışları

Yazan 
Öğeyi Oyla
(0 oy)

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

ŞABLONAÇIKLAMA
app(öntanımlı)proje dosyası bir uygulama makefile dosyası oluşturur.
app(öntanımlı)proje dosyası bir kütüphane dosyası oluşturur.
libproje dosyası bir kütüphane dosyası oluşturur.
subdirsHer 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
Okunma 399 defa Son Düzenlenme Çarşamba, 15 Mayıs 2013 19:18
Ufuk Yıldırım

Yazılım Geliştirme Uzmanı

Web site: www.ufuk.biz

Yorum Ekle

Gerekli olan (*) işaretli alanlara gerekli bilgileri girdiğinizden emin olun. HTML kod izni yoktur.