Forum: Ders Arası RSS
GTKD SORU
Sayfa:  1  2  sonraki 
Avatar
huseyin #1
Üye Haz 2012 tarihinden beri · 363 mesaj · Konum: Ankara
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Konu adı: GTKD SORU
Öncelikle herkese merhaba ben d dilini yeni kesfeden birisiyim ve artık aranızda bulunmaktayım
umarım iyisinizdir

benim bir sorum olacaktı simdi gtkd kutuphanesini windows a nasıl kuracagız arastırdım ama bulamadım simdiden tesekkur ederım
Huseyin
acehreli (Moderatör) #2
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Hoşgeldin huseyin325325! :)

Bende uzun zamandır Windows yok. Diğer arkadaşların anlatmalarını bekliyorum. ;)

Ali
zafer #3
Üye Tem 2009 tarihinden beri · 700 mesaj · Konum: Ankara
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
GtkD kütüphanesini Windows sistemine kurmak gayet kolay, ancak benim tavsiyem eğer gerçekten bu işten keyif almak istiyorsan D dilini öğrenmen yönünde olur. Dili öğrenmek içinde öncelikli olarak dil ile ilgilenmen gerekir. Bu tabi ki sisteme en yakın yerde yani konsolda yapacağın çalışmalarla olur. Yinede karar senin elbette.

Windows ortamına GtkD kurulumu için;

http://www.dsource.org/projects/gtkd adresinden gtkD kurulum paketini (zip dosyası) ve Windows ortamı  için GTK+ çalışma zamanı (runtime) dosyalarını indirmelisin.

GTK+ otomatik kurulum dosyasıdır. Sihirbazı kullanarak ileri ileri diyerek kurulumu tamamlayabilirsin.

gtkD bir zip dosyasıdır. Dosyaları dışarı çıkarıp uygun bir klasöre koymalısın. Örneğin DLang isimli bir klasör olabilir.

Sürücü\gtkD_klasörü\gtkD\src\build adresinde dosyaları derleyip kütüphane haline geitebileceğin bir toplu işlem dosyası (.bat) mevcut bu dosya build isimli bir aracı çalıştırıyor ancak build sende yok tabi ki :)

http://www.dsource.org/projects/build bu adresten build aracını indir ve yukarıdaki klasöre kopyala

ardından build @gtkD komutunu ver ve beklemeye başla işlem başarıyla bittiğinde ekrana durum bilgisi içeren bir mesaj çıkacaktır. Ayrıca aynı klasörde GtkD.lib isimli bir dosya oluşacak. Bu adımdan sonra gtkD kurulumunu tamamlamış olacaksın.

Sıra geldi gtkD programını yazıp derlemeye;

Bir programı oluştururken önce derler, sonra bağlarsın. Bu konuda çok iyi değilim ama bu çok önemli ve değerli bir konu bu konu hakkında bilgi almak için Ali'ye sorular sormanı şiddetle tavsiye ederim.

Neyse biz gelelim konumuza. Örneğin şöyle bir kodu derlemek istersen

import gtk.MainWindow;
import gtk.Label;
import gtk.Main;
 
void main(string[] args)
{
    Main.init(args);
    MainWindow win = new MainWindow("Hello World");
    win.setDefaultSize(200, 100);
    win.add(new Label("Hello World"));
    win.showAll();
 
    Main.run();
}

Büyük bir ihtimalle aşağıdaki gibi bir hata alırsın.

PS E:\Proje - D\GtkDTest> dmd -c main.d
main.d(1): Error: module MainWindow is in file 'gtk\MainWindow.d' which cannot be read
import path[0] = C:\DLang\dmd2\windows\bin\..\..\src\phobos
import path[1] = C:\DLang\dmd2\windows\bin\..\..\src\druntime\import

Bu hata bize kodumuza dahil ettiğimiz gtk.MainWindow, gtk.Label gibi modüllerin (kod dosyalarının) bulunamadığını dolayısıyla bunların içinde ihtiyacımız olan metotların çağrılamadığını söylüyor ve bize ayar dosyasındaki bilgileri göstererek bir ipucu vermeye çalışıyor.

Eğer biz derleme, bağlama gibi adımları ve derleyicinin çalışma mantığını biliyorsak sorun yok. Diyelim ki biliyoruz ve kodu şöyle düzeltiyoruz.

PS E:\Proje - D\GtkDTest> dmd -c main.d -IC:\DLang\gtkD\src

Evet, artık derleme adımını geçtik. Yani dedik ki, biz programımızda kendi yazmadığımız bazı metotlar kullandık ve bu metotlar örneğin gtk.MainWindow gibi bir modulün içinde ve bu modül (kod dosyası) işte şu adrestedir. Burada I harfi Include (katmak, dahil etmek) kelimesinin başharfidir.

Gelelim bağlama adımına, yada boşver sen bunları bir dene gerçekten ilgini çekerse ve uğraşmak istersen devamını o zaman yazarım. Şimdiden kolay gelsin :)
https://github.com/zafer06 - depo
Avatar
huseyin #4
Üye Haz 2012 tarihinden beri · 363 mesaj · Konum: Ankara
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Ilginiz karşısında hayran kaldıgımı belirtmek isterim tesekkur ederim
d dilini temel olarak ogrendim zaten c ve c++ bilgim oldugu çin hiç de zor gelmedi tek problemim
kutuphaneler yanı hazır fonksıyonlar oldu onlarıda aşmaya calısıyorum
Huseyin
Avatar
huseyin #5
Üye Haz 2012 tarihinden beri · 363 mesaj · Konum: Ankara
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Evet devam etmekte kararlıyım c ve c++ da basarı sagladıgım soylenemez asm bilgimde var ama az işte

Bu arada su hataları aldım anladıgım kadarıyla kodda bır sıkıntı var
//////////////////////////////////////////////////////////////////////////////
Microsoft Windows XP [Sürüm 5.1.2600]
(C) Telif Hakkı 1985-2001 Microsoft Corp.

C:\Documents and Settings\user>cd C:\Documents and Settings\user\Belgelerim\HUSE
YIN\DCODE\gtkD-1.5.1\gtkD

C:\Documents and Settings\user\Belgelerim\HUSEYIN\DCODE\gtkD-1.5.1\gtkD>build @g
tkD
Error: File 'gtkD.brf' not found.

C:\Documents and Settings\user\Belgelerim\HUSEYIN\DCODE\gtkD-1.5.1\gtkD>cd src

C:\Documents and Settings\user\Belgelerim\HUSEYIN\DCODE\gtkD-1.5.1\gtkD\src>cd b
uild

C:\Documents and Settings\user\Belgelerim\HUSEYIN\DCODE\gtkD-1.5.1\gtkD\src\buil
d>build @gtkD
C:\Documents and Settings\user\Belgelerim\HUSEYIN\DCODE\gtkD-1.5.1\gtkD\src\gtkc
\glibtypes.d(4432): use of typedef is deprecated; use alias instead
C:\Documents and Settings\user\Belgelerim\HUSEYIN\DCODE\gtkD-1.5.1\gtkD\src\gtkc
\glibtypes.d(4432): use of typedef is deprecated; use alias instead
C:\Documents and Settings\user\Belgelerim\HUSEYIN\DCODE\gtkD-1.5.1\gtkD\src\gtkc
\glibtypes.d(4445): use of typedef is deprecated; use alias instead
C:\Documents and Settings\user\Belgelerim\HUSEYIN\DCODE\gtkD-1.5.1\gtkD\src\gtkc
\glibtypes.d(4445): use of typedef is deprecated; use alias instead
C:\Documents and Settings\user\Belgelerim\HUSEYIN\DCODE\gtkD-1.5.1\gtkD\src\gtkc
\glibtypes.d(4452): use of typedef is deprecated; use alias instead
C:\Documents and Settings\user\Belgelerim\HUSEYIN\DCODE\gtkD-1.5.1\gtkD\src\gtkc
\glibtypes.d(4452): use of typedef is deprecated; use alias instead
C:\Documents and Settings\user\Belgelerim\HUSEYIN\DCODE\gtkD-1.5.1\gtkD\src\gtkc
\glibtypes.d(4464): use of typedef is deprecated; use alias instead
C:\Documents and Settings\user\Belgelerim\HUSEYIN\DCODE\gtkD-1.5.1\gtkD\src\gtkc
\glibtypes.d(4464): use of typedef is deprecated; use alias instead
C:\Documents and Settings\user\Belgelerim\HUSEYIN\DCODE\gtkD-1.5.1\gtkD\src\gtkc
\glibtypes.d(4478): use of typedef is deprecated; use alias instead
C:\Documents and Settings\user\Belgelerim\HUSEYIN\DCODE\gtkD-1.5.1\gtkD\src\gtkc
\glibtypes.d(4478): use of typedef is deprecated; use alias instead
C:\Documents and Settings\user\Belgelerim\HUSEYIN\DCODE\gtkD-1.5.1\gtkD\src\gtkc
\glibtypes.d(4489): use of typedef is deprecated; use alias instead
C:\Documents and Settings\user\Belgelerim\HUSEYIN\DCODE\gtkD-1.5.1\gtkD\src\gtkc
\glibtypes.d(4489): use of typedef is deprecated; use alias instead
C:\Documents and Settings\user\Belgelerim\HUSEYIN\DCODE\gtkD-1.5.1\gtkD\src\gtkc
\glibtypes.d(4506): use of typedef is deprecated; use alias instead
C:\Documents and Settings\user\Belgelerim\HUSEYIN\DCODE\gtkD-1.5.1\gtkD\src\gtkc
\glibtypes.d(4506): use of typedef is deprecated; use alias instead
C:\Documents and Settings\user\Belgelerim\HUSEYIN\DCODE\gtkD-1.5.1\gtkD\src\gtkc
\glibtypes.d(4515): use of typedef is deprecated; use alias instead
C:\Documents and Settings\user\Belgelerim\HUSEYIN\DCODE\gtkD-1.5.1\gtkD\src\gtkc
\glibtypes.d(4515): use of typedef is deprecated; use alias instead
C:\Documents and Settings\user\Belgelerim\HUSEYIN\DCODE\gtkD-1.5.1\gtkD\src\gtkc
\glibtypes.d(4530): use of typedef is deprecated; use alias instead
C:\Documents and Settings\user\Belgelerim\HUSEYIN\DCODE\gtkD-1.5.1\gtkD\src\gtkc
\glibtypes.d(4530): use of typedef is deprecated; use alias instead
C:\Documents and Settings\user\Belgelerim\HUSEYIN\DCODE\gtkD-1.5.1\gtkD\src\gtkc
\glibtypes.d(4537): use of typedef is deprecated; use alias instead
C:\Documents and Settings\user\Belgelerim\HUSEYIN\DCODE\gtkD-1.5.1\gtkD\src\gtkc
\glibtypes.d(4537): use of typedef is deprecated; use alias instead
C:\Documents and Settings\user\Belgelerim\HUSEYIN\DCODE\gtkD-1.5.1\gtkD\src\gtkc
\glibtypes.d(4546): use of typedef is deprecated; use alias instead

C:\Documents and Settings\user\Belgelerim\HUSEYIN\DCODE\gtkD-1.5.1\gtkD\src\buil
d>
Huseyin
Bu mesaj 2 defa değişti; son değiştiren: huseyin; zaman: 2012-06-22, 15:29.
acehreli (Moderatör) #6
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
huseyin325325:
use of typedef is deprecated; use alias instead

gtkd en son hangi dmd sürümüyle uyumluydu acaba? typedef yerine alias kullanımı oldukça eski.

Ali
zafer #7
Üye Tem 2009 tarihinden beri · 700 mesaj · Konum: Ankara
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
huseyin325325 on :
Ilginiz karşısında hayran kaldıgımı belirtmek isterim tesekkur ederim

Bence bir şeyler öğrenmek isteyen ve bunun için çabalayan insan en değerli insanlardan biridir. Ben böyle kişilerle tanıştığımda kendi adıma yapabileceğim her türlü yardımı yapmak için çabalıyorum :)

huseyin325325 on :
use of typedef is deprecated; use alias instead

Bu hataı düzelttiklerini sanıyordum ama hala düzelmemiş. Kısaca D'nin yeni ve gelişen bir dil olması ve gtkD'nin bu hıza yetişememesinden kaynaklanan bir sorun bu. Yani D dili yeni sürümlerinde typedef anahtar kelimesinin yerine alias kullanmaya başladı ama gtkD kütüphenesinin dağıtılan sürümü hale bu güncellemeyi içermiyor malesef.

Neyse çözüm için depodaki kaynak kodları indirip kullanabilirsin. http://www.dsource.org/projects/gtkd/browser/trunk bu adreste sayfanın en altında bulunan Zip Archive bağlantısını kulanarak kodları indirip gtkD klasörü içine kopyala, önceki dosyaları sil tabi, sonra build aracını kullanarak kodları derleyebilrsin. Kolay gelsin  ;-)
https://github.com/zafer06 - depo
Avatar
huseyin #8
Üye Haz 2012 tarihinden beri · 363 mesaj · Konum: Ankara
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Tesekkur ederim umarım bu kez olur
Huseyin
Avatar
Salih Dinçer #9
Üye Ock 2012 tarihinden beri · 1912 mesaj · Konum: İstanbul
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Aramıza hoş geldin Hüseyin...

GTK+'ı ve D bağlayıcılarını Linux'da kullanmak daha kolay. Ubutu'yu sanal PC olarak VirtualBox ile kullanırsan tek yapman gereken şu komutu verip GtkD'yi derlemen olacak:

sudo apt-get install gcc libc6 g++ gettext intltool libgtk2.0-dev cmake

Derleme ise son sürüm GtkD'yi çekip ./configure ve make komutlarından ibaret. Gerisi zaten o kadar basit ki pratik yöntemleriyle derleme parametrelerini kısaltman bile mümkün. Bu konuları çok yakın bir zaman önce bu forumda tartıştık.
Bilgi paylaştıkça bir bakmışız; kar topu olmuş ve çığ gibi üzerimize geliyor...:)
erdem (Moderatör) #10
Üye Tem 2009 tarihinden beri · 978 mesaj · Konum: Eskişehir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj #7
zafer on 2012-06-23, 02:28:
Neyse çözüm için depodaki kaynak kodları indirip kullanabilirsin. http://www.dsource.org/projects/gtkd/browser/trunk bu adreste sayfanın en altında bulunan Zip Archive bağlantısını kulanarak kodları indirip ..

Ben de Zafer arkadaşımızın belirttiği adresten kaynak kodun son sürümünü indirdim. trunk yerine gtkD ismi verdim ve kaynak dosyaları C'ye kopyaladım.

gtkD\src\build dizinine gelip

build gtkD.brf

komutu ile derledim. Kaynak kodu derlemek için build aracı, ayrıca windows için GTK+ kurucu programı gerekiyor. Daha sonra oluşan GtkD.lib dosyasını programımızın olduğu dizine kopyalayıp kullanabiliyormuşuz.
zafer #11
Üye Tem 2009 tarihinden beri · 700 mesaj · Konum: Ankara
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Erdem, aslında bir süredir benim aklımda D ile bir on parmak öğretici programı hazırlamak var. Önce konsol tabanlı bir şeyler düşündüm ama böyle bir program için pek iyi olmayacağına karar verdim. Daha sonra Hotkey (http://muratsalma.com/tr/hotkey) isimli bir programa rastladım. Geliştiricisi programı beta aşamasında bırakmış ve artık geliştirmiyor ama yinede yeterince iyi. Anladığım kadarıyla Flash ve ActionScript kullanarak geliştirmiş.

Doğrusu biraz deneysel olması hem de arayüzde daha esnek bir yaklaşım için bende aklımdaki on parmak projesi için arayüz olarak SDL kullanmayı düşünüyorum. Bilmem nasıl olur? Senin ilk zamanlardaki mesajlarını okudum sen SDL ile bayağı bir yakın temasta bulunmuşsun. Umarım seminere gelirsin, orada yüz yüze konuşma fırsatı bulabiliriz. Olmadı yine forum üzerinden yardımını isteyeceğim artık.
https://github.com/zafer06 - depo
erdem (Moderatör) #12
Üye Tem 2009 tarihinden beri · 978 mesaj · Konum: Eskişehir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Ben sanırım gene yaz buluşmasında olamayacağım :-/ Çünkü bizim işlerin en yoğun olduğu zamana denk geliyor.

SDL olabilir.

https://github.com/erdemoncel/oyun

adresinde ben bunu bir 2D uzay gemisi oyununa çevirmeyi düşünüyordum. Ama biraz maymun iştahlıyım galiba :-D İsterseniz kendinizi geliştirici olarak ekleyip kod üzerinde de geliştirmeler yapabilirsiniz.

Benim ilgim biraz daha fazla elektroniğe kaydığı için D cephesinde, D ile elektronik derslerini biraz daha genişletmeyi düşünüyorum. En azından dersleri windows altında da derlenecek şekilde yapmayı düşünüyorum. Ama bunu da diğer çalışmalardan kalan zamanda yapmayı düşünüyorum.

Yaz süresince yapmayı planladığım şeyler şunlar:

- 6.002 derslerinin tekrarı (bunun içinde 1000 sayfalık bir kitap da var  ;-) )

- Bir osiloskop alıp 6.002 konularının pratikte uygulamasını yapmak. Burada kendisi de bir MIT mezunu olan birisi 6.002x dersleri için laboratuvar uygulamaları yapmış.

- Tüm bunlardan vakit kalırsa 6.002'den sonra gelmesi muhtemel derslere hazırlık yapmayı düşünüyorum. Ne bileyim yüksek matematik (calculus) çalışabilirim, ya da Matlab kullanmayı öğrenebilirim. Açıkçası bu derslerin hepsinin sunulup sunulmayacağını bilmiyorum ama şimdiden bir grup 6.003'e çalışıyor.

Dijital elektronik ve programlanabilir mantık blokları (FPGA) - 6.004
Sinyaller, sistemler ve kontroller - 6.003
Analog elektronik - 6.012 veya 6.101
Mikrodenetleyiciler - 6.115
zafer #13
Üye Tem 2009 tarihinden beri · 700 mesaj · Konum: Ankara
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
erdem:
adresinde ben bunu bir 2D uzay gemisi oyununa çevirmeyi düşünüyordum. Ama biraz maymun iştahlıyım galiba :-D İsterseniz kendinizi geliştirici olarak ekleyip kod üzerinde de geliştirmeler yapabilirsiniz.

Amacım oyun geliştirmek değil. On parmak projem için görsel bir arayüz arıyorum ve malum D için çok seçenek yok. Anladığim kadarıyla sen zaten yeterince meşgulsün, artık bir şekilde çözecegiz bu işi :)
https://github.com/zafer06 - depo
acehreli (Moderatör) #14
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj #12
erdem on 2012-06-25, 14:46:
bizim işlerin en yoğun olduğu zamana denk geliyor.

Yol üç saat değil mi? Sabah gel, akşam dön. :)

Ali
erdem (Moderatör) #15
Üye Tem 2009 tarihinden beri · 978 mesaj · Konum: Eskişehir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
acehreli:
Yol üç saat değil mi? Sabah gel, akşam dön. :)

Aslında hızlı trenle bir saat. Bu arada siz de Eskişehir'i biraz biliyorsunuz (biliyormusunuz :) )

Tamam Cumartesi gününe hızlı trene bilet aldım. Sincan'a gidiyormuş sanırım.

Bir aksilik çıkmazsa Cumartesi ordayım ;-)
Doğrulama Kodu: VeriCode Lütfen resimde gördüğünüz doğrulama kodunu girin:
İfadeler: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Özel Karakterler:
Sayfa:  1  2  sonraki 
Forum: Ders Arası RSS
Bağlı değilsiniz. · Şifremi unuttum · ÜYELİK
This board is powered by the Unclassified NewsBoard software, 20100516-dev, © 2003-10 by Yves Goergen
Şu an: 2017-11-19, 00:48:27 (UTC -08:00)