Thread overview
January 28, 2013

Merhaba

Yazdığım kodları windows altında linux için derlemek için dmd ye hangi parametreyi göndermeliyim?

Zekeriya

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

January 28, 2013

Sanırım bunu yapabilmek için cgywin kullanmak ya da sanal işletim sistemi çalıştırmak lazım...

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

January 28, 2013

Evet, Cygwin (http://cygwin.com) ile mümkünmüş...:)

Önce sitedeki setup.exe'yi çalıştırdım ve yansılardan birini (http://mirrors.kernel.org/sourceware/cygwin/) seçtim. Bir süre yüklendikten sonra, masaüstünde tıpkı MS-DOS komut istemi gibi işlev gören bir simge oluştu...

Çalıştırdığınızda bilgisayarınızda kurduğunuz dizinin içindeki dosyalar ulaşıyorsunuz. Komut satırında ise bilgisayara giriş yapılan kullanıcı ismiyle oluşturulmuş (/home/...) dizini içinde yer alıyorsunuz.

import std.stdio;

void main()
{
   std.stdio.writefln("hello");
}

Ancak "installation problem, cannot exec 'as': No such file or directory" hatasını aldım. Bunun üzerine tekrar kurdum ve bu sefer, yukarıda bahsedilen root dizini içine kopyaladığım dosyayı daha önceki kurulumda local'e çekilen dosyalar içine yerleştirdim. Ayrıca sayfadaki (http://mirrors.kernel.org/sourceware/cygwin/release/gcc/gcc-gdc/) tüm diğer dosyaları da...

Kurulumu local'den yapacağım için 3. seçeneği seçtim. Bir süre dosyaları inceledikten sonra Devel altındaki gcc-gdc'nin yanına işaret koydum ve kurulumu bitirdim. Bu sefer her şeyi kitabına uygun yaptığımı düşünüyorken, yukarıdaki son iki adımı denediğimde aynı hatayı aldım...:(

Devamı için biraz vakte ihtiyacım var...

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

January 28, 2013

Bunun henüz mümkün olduğunu sanmıyorum. Bunu GNU derleyicisi gdc herhalde yapabilir ama onu ayrıca kurmak gerekecek.

Bildiğim kadarıyla şimdilik en kolayı bir Linux ortamında derlemek (sanal makine olabilir).

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

January 29, 2013

Bu kadar uğraştıracağını bilemezdim :D Sadece -t linux32 tarzında bir komut vererek olur diye düşündüm :D

Cygwin güzel fikir bende deneyeceğim eğer olmazsa virtual'a cent os kurup denerim.

Zekeriya

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

January 29, 2013

Böyle bir şeyin olabilmesi için Linux kernel çalışır ve ilgili kütüphanelerin yüklü olması lazım. Bu da bizi emulator veya simulator'e götürmekte. Cygwin de emulator gibi bir şey ama executable binary yapısı farklı. Uzantılar exe ve sanırım Windows altında çalıştırılabilen bir binary yapısı var. Bu durumda belki ürettiği kod da Linux'da çalışmayacak; emin değilim... :rolleyes:

Alıntı:

>

a DLL (cygwin1.dll) which acts as a Linux API layer providing substantial Linux API functionality.

En iyisi sanal işletim sistemi, yani simulator...

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

January 29, 2013

Hmm evet hatırladığım kadarıyla (yanlış hatırlıyor da olabilirim) cygwin aslında linux için derliyor ama exe için sanal makine gibi birşey oluşturuyor.

Hdd de linux kurarım belki diye yer ayırmıştım sanırım bunu değerlendirmenin vakti geldi :)

Zekeriya

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

January 29, 2013

Sayende CygWin'e de giriş yaptım bu vesileyle...:)

İlk olarak WaveCom'un (sanırım Sierra Wireless ile birleşmiş!) GSM modülleri ile tanışmıştım ama ısınamamıştım. Gerçi, artık kendimi Windows kullanıcısı olarak görmüyorum ama D dilini Android'de kullanmak için CygWin iyi bir çözüm olabilir...

Az önce sorun ile ilgilenirken, meğer cevabı daha önce yüklemiş olduğum (tarihi 09.10.2012) ve abece sırasından dolayı hemen üstünde duran kaynak kodlarının yer aldığı binutils dizinindeymiş! Çünkü derleme sırasında obj dosyası bin'e çevrilirken as, ld gibi komutlara ihtiyaç duyuyormuş. Neyseki bunu şuradan çekip 3. yüklemede /usr/bin içinde yer almasını sağladım:

https://mirrors.kernel.org/sourceware/cygwin/release/binutils/

Ancak bu sefer de aşağıdaki sorunla karşılaşınca, çözümü bir başka güne bırakmaya karar verdim...:D

Alıntı:

>

Netbook@Netbook-PC ~
$ gdc-3 hello.d
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/bin/ld: cannot find -lgcc
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/bin/ld: cannot find -luser32
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/bin/ld: cannot find -lkernel32
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/bin/ld: cannot find -ladvapi32
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/bin/ld: cannot find -lshell32
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/bin/ld: cannot find -lgcc

Anlaşılan ld, yukarıda listelenen kütüphaneleri istiyor...

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

January 29, 2013

Benden beklenmeyecek derecede büyük bir gelişme kaydederek 4. denememi de yapmış bulunmaktayım. Böylece gün bitmeden hatta 24 saat bile dolmadan Cygwin deneylerine son noktayı koydum...:)

Tekrar internette yükleme yaparak adeta full customize ile bir çok kütüphane, yorumlayıcı ve yazılımı kaynak kodları ile birlikte yükledim. Sonuçta elimde Cygwin dizin içine yerleştirilmiş bir Linux dünyası oldu. Sadece bir tık kadar uzaklıkta ve fazla bir bellek istemeyen komut satırına (konsol) sahip oldum. Bu müthiş son belki de bir başlangıçtı benim için!

Ancak netice şu: negative

Derlenen binary dosya Linux için değil ama Cygwin, Linux'da ne var ne yoksa Windows içinde çalıştırabilmeniz için biçilmiş kaftan...

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

January 29, 2013

Tebrik ediyorum sizi :) Ama olmaması belki de daha hayırlıdır :) Linux kullanmak için yine bir bahanem çıktı şimdi :)

Bu cygwin ile bende çok uğraştım ama hatalarıyla başa çıkamadım pes ettim hep :D

Zekeriya

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]