Perşembe, Temmuz 02, 2009

Windows için DMD kurulumu ve Code::Blocks ayarları

Windows için D dili ve Code::Blocks

D dili hakkındaki ilkyazımı geçen ay yazmıştım. Final haftasında olduğumuzdan bu dil ile ilgili çok fazla araştırma yapıp yazı yazmaya vaktim olmadı. Bu zaman zarfı içerisinde ceviz.net’in c/c++ bölümünden tanıdığım Ali ÇEHRELİ (acehreli) D dili ile ilgili Türkçe kaynaklar yayınladığı bir site kurmuş. Ayrıca sorularmıza cevap alabileceğimiz bir forumuda mevcut. Hemen üye oldum tabi. Benim gibi İngilizce özürlü biri için bu site bulunmaz bir nimet :).

Asıl mevzu ya dönecek olursak, finallerim biter bitmez ilk işim D ile ilgili araştırma yapmak oldu. İşe önce, kodlarımı yaza bileceğim bir IDE arayarak başladım. Karşıma üç seçenek çıktı. Bunlar Elephant, Poseidon ve Zeus. Code::Blocks’a alışmış birisi olarak açıkçası bu IDE ler bana biraz basit gibi geldi ve farklı bir IDE aramaya devam ettim. Derken aradığımı gökte değil yerde buldum. Forumun birinde Code::Blocks’un da DMD’ye destek verdiğini öğrendim (Ayrı yeten GCD ye destek vermekte). Hemen kurma çalışmalarına başladım. Zor bir kurulumu yok fakat aşağıda da söyledim gibi ufak bir ayrıntıyı bulmak baya zamanımı aldı. D ile ilgili daha önceki yazımda D dilinin Türkçe dil desteği olduğundan bahsetmiştim. Fakat ben bir türlü kod içinde Türkçe karakter kullanarak programı çalıştırmayı başaramadım. Bunun çözümünü bulduğumda( umarım bulurum :( ) ilk işim çözümü burada paylaşmak olacak.

Bütün bu açıklamalardan sonra DMD’yi kurup Code::Blocks ayarlarını anlatmaya başlayalım.
NOT:Eğer bilgisayarda Code::blocks yoksa şurdan indirebilirsiniz. Ben MinGW'ninde hazır geldiği "codeblocks-8.02mingw-setup.exe" paketi indirdim.(C/C++ için). Kurduktan sonra Code::Blocks'u Nightly builds yapın. Buradan code::blocks'un nasıl nightly builds yapılacağına bakabilirsiniz.
  • Buradan DMD ve DMC derleyicilerini indiriyoruz. Ben bu yazıyı yazarken dmd’nin 2.029 alpha, DMC’nin ise 8.50 sürümleri mevcuttu.
  • İndirdiğimiz DMD ve DMC paketlerini C:\ sürücüne unzip edelim. (C:\dm ve C:\dmd şeklinde).
  • Daha sonra Code::blocks dan Settings->Compiler and debuggers bölümüne giriyoruz.
  • Önümüze gelen pencerede Select Compiler bölümünden Digital Mars D Compiler seçeneğini seçip “Set as default” butonuna tıklıyoruz.

  • Set as default dedikten sonra Sekmelerdeki dosyaların görünümü aşağıdaki şekilde olmalı.
Linker Setting : phobos.lib
Search Directories->Compiler: C:\dmd\src\phobos
Search Directories->Linker: C:\dmd\lib
Search Directories->Resource Compiler: C:\dm\include\win32
  • Daha sonra yine aynı penceredeki Toolchain executables sekmesine geliyoruz. Buradan da Additional Paths sekmesine geçiyoruz. Eğer buraya kadar ki işlemleri doğru yaptıysak Additional Paths sekmesinde C:\dm\bin olması lazım, biz buna ilave olarak C:\dmd\windows\bin yolunu ekliyoruz. (Bu kısmını deneme yanılma yapmaktan tükenmiş bir durumdayken şans eseri buldum. Azmin zaferi :) ).

"OK" butonuna tıklayıp pencereyi kapattıktan sonra Code::Blocks'da rahatlıkla D kodları çalıştırabilirsiniz. Kolay gelsin...

3 yorum:

Zafer Çelenk dedi ki...

Merhaba,

Makale için elinize sağlık, dolu dolu ve açıklayıcı olmuş, ben her nekadar şimdilik D diline izleyici olarak kalsamda, dünya ile aynı anda gelişmeleri takip edebilmemize vesile olmanızda çok güzel.

Türkçe konusuna gelince Ana Menü>Editör>General Settings penceresinde bulunan Encoding bölümünden UTF-8 seçtiğinizde Türkçe karekterleride kod içinde kullanabiliyorsunuz. Tabi bu etkiyi görmek için yeni bir D projesi başlatmalısınız.

Konsolda yinede Türkçe karekterleri düzgün göremiyorum. Kullandığım sistem Windows XP SP3 bilmem bir çözümü var mı?

Esat ARSLAN dedi ki...

Yardımım dokunuyosa ne mutlu bana :).

Ali bey aşağıda linkinin verdiğim ddili forumunda sizin dediğiniz ile paralel bir yol bulmuş. Fakat Code::Blocks ile programı çalıştırdığımız zaman ekran çıktısında Türkçe karakter yine görünmüyo.

http://ddili.org/forum/thread/1

Adsız dedi ki...

Abi selamlar ben d dilinine başlamak istiyorum fakat kurulumla alakalı pek bilgi bulamıyorum.mümkünse güncel bir kurulumla alakalı bilgiler paylaşabilir misiniz?