Eğer D ile GUI programlamak ve GtkD'yi kullanmak istiyorsanız, şu an doğru adrestesiniz. Bu yazıda GtkD-3 kurulumunu ve derleme işlemlerini anlatacağım. Kurulumu ben Linux üzerinden denedim, herhalde Windows üzerinden de kurulumu basitçe yapabilirsiniz. Basitçe adımlar halinde yazayım:
'1. Dmd Kurulu Olmalı'
GtkD modüllerini ve kütüphanelerini kullanmak için dmd kurulu olmalıdır. Tabii, eğer oluyorsa siz Gdc ve Ldc'yi de kullanabilirsiniz. GtkD kurulumu için dmd 2.0.66 ve üstü bir sürüm kullanılmalıdır.
Dmd'yi kurmak için aşağıdaki adrese bakabilirsiniz:
http://ddili.org/kurulum/dmd.html
'2. GtkD-3'ün Kurulumu'
Kaynak kod dosyalarını aşağıdaki adreslerden birinden indirin ve bir dizine açın.
http://d-apt.sourceforge.net/
http://gtkd.org/download.html
Dosyaları kopyaladığınız dizine geçin ve aşağıdaki komutları sırasıyla girin:
'cd /GtkD'nin/Kurulu/Olduğu/Dizin
make all
sudo make install'
Bu komutları bitene kadar bekleyin ve aşağıdaki komut ile TestWindow isimli programın çalıştığından emin olun:
'./TestWindow'
Komut satırı, warning'li falan konuşabilir, siz aldırmayın ona... Aşağıdaki resimlere bakarak dosyaların dizinlere doğru bir şekilde kurulduğuna ve GtkD 3'ü yüklediğinize emin olun:
http://s3.dosya.tc/server5/la3npg/kurulumsonrasi.zip.html
Dosyaları kendinizkilerle karşılaştırın ve eksik bir yer var ise söyleyebilirsiniz.
'3. İlk GtkD Programı - "Merhaba Dünya"'
Bir dosya açalım ve aşağıdaki satırları kopyalayım.
'import' gtk.Window';'
'import' gtk.Main';'
'int' main'(''string''[]' parametre')
{'
Main.'init''('parametre');'
'auto' İlkPencere '=' 'new' Window'(''"Merhaba Dünya"'');'
İlkPencere.show'();'
Main.run';'
'return' '0'';
}'
Bu satırları kopyaladıktan 4. adıma geçebiliriz...
'4. Derleme İşlemi'
Bir konsol açarak, yukarıdaki kodu yazdığımız dizine gidin. Daha sonra aşağıdaki satırı kopyalayın. Kaynak dosya adını "Merhaba.d" olarak varsayacağım.
'dmd Merhaba.d -I/usr/local/include/d/gtkd-3/ -ofMerhaba -L-lgtkd-3 -L-ldl -L-Llibphobos2.so'
Bu işlemden sonra bulunduğunuz dizinde "Merhaba" isimli bir program oluşacaktır. Bu dosyaya çift tıklayarak çalıştırabilirsiniz.
4.1 Derleme Komutlarını Azaltma
Bu aşamda, derleme işlemini her seferinde daha az komut kullanarak nasıl yazacağımızı göstereceğim. Sonunda 4 komut dışında hiçbir şey kullanmayağız.
Bu işlem için, öncelikle GtkD modüllerinin nerede olduğunu bilmelisiniz. Eğer, yukarıdaki derlemeye göre gittiyseniz; modüller /usr/local/include/d/gtkd-3/ dizini içindedirler.
Linux kullanıyorsanız, uçbirime geçip şu komutu verin:
sudo gedit /etc/dmd.conf
Siz kullandığınız metin düzenleme programını yazın. Gedit, her Linux dağıtımında kurulu olarak gelmemektedir. Bu dosyanın yedeğini mutlaka alın. Bir hata yaptığınızda, müdahele etmemiz kolay olsun... :-)
Karşınıza bir dosya gelecek ve şu satır aralıklarını aşağıdaki şekilde değiştirin:
'
[Environment32]
DFLAGS=-I/usr/include/dmd/phobos -I/usr/include/dmd/druntime/import -L-L/usr/lib/i386-linux-gnu -L--export-dynamic
[Environment64]
DFLAGS=-I/usr/include/dmd/phobos -I/usr/include/dmd/druntime/import -L-L/usr/lib/x86_64-linux-gnu -L--export-dynamic
'
Bu satırlar dmd'nin belirlediği standart derleme işleminde kullanılacak dosyaları ayarlamaktadır. Bu satırları silip aşağıdaki satırları yerine kopyalayın:
'
[Environment32]
DFLAGS=-I/usr/include/dmd/phobos -I/usr/include/dmd/druntime/import -I/usr/local/include/d/gtkd-3 -L-lgtkd-3 -L-lgtkdgl-3 -L-lgtkdsv-3 -L-ldl
[Environment64]
DFLAGS=-I/usr/include/dmd/phobos -I/usr/include/dmd/druntime/import -I/usr/local/include/d/gtkd-3 -L-lgtkd-3 -L-lgtkdgl-3 -L-lgtkdsv-3 -L-ldl
'
Kaydedip dosyayı kapatın. Çoğu GtkD programlarını artık aşağıdaki işlemle yapabilirsiniz:
dmd Merhaba.d -ofMerhaba
Birden fazla D dosyasını işlemek için ise yine aynı yolu izleyeceğiz:
dmd İlkDosya.d İkinciDosya.d ÜçüncüDosya.d NDosya.d -ofProgramİsmi
Çoğu durumda -of komutunu da kullanmaya gerek kalmayabilir. Yazı bu kadarlıktır. Sanırım bazı yerleri anlaşılır yazamadım. O yerleri söylerseniz düzenlerim... :-) :-)
Hata yaptıysanız söyleyebilirsiniz, ben elimden geldiğince yardım ederim.
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]