Windows’ta GCC ve Makefile kullanımı

Linux’ta geliştirilmekte olan platformdan bağımsız bir projeyi, üzerinde en az değişikliği yaparak Windows’ta da çalışabilir hale getirmek oldukça kritik bir gereklilik. Özellikle görsel arayüzlü yazılım geliştirme ortamları kullanarak daha zor gerçekleştirilebilen projeler için bir şart. Fortran, C ve CUDA’yı bir arada derleyen bir ortam yaratmanın en kolay yolu açıkcası makefile yazmaktan geçiyor. Bunu Windows’ta gerçekleştirmek de MinGW ve MSYS’yi kullanarak mümkün hale geliyor. Bu yazıda adım adım bu araçların kurulumunu anlatmaya çalışacağım.
.
MinGW Derleyicilerinin kurulumu
- Buradan MinGW’nin son sürümünü indirin. İhtiyacınız olacak derleyicileri seçerek kurulumu tamamlayın (İleride neler gerekir belli olmaz hepsini kurun bence).
- “C:\MinGW\bin\” yolunu bilgisayarınızın Ortam Değişkenleri’ne ekleyin.
- Bu adımdan sonra komut satırından gcc, g++, g77 gibi farklı derleyicilere ulaşmanız mümkün olacaktır.
MSYS’nin kurulumu
- Buradan en yukarıdaki geliştirilen sürümü değil de alt tarafta bulunan Current Release başlığı altındaki kurulum dosyasını indirip kurun.
- MSYS’nin komut satırından çalışması için “C:\MSYS\1.0\bin” yolunu bilgisayarınızın Ortam Değişkenleri’ne ekleyin. Kurduğunuz MSYS’nin sürümünü dikkat ederek yolu değiştirmeyi unutmayın.
- Artık Linux kabuk betiklerine ait komutları windows komut satırından çağırabilirsiniz. Tabi bizim için bunun avantajlı tarafı makefile’ımızı gönül rahatlığıyla içindeki path’lerle çok az oynayarak çalışabilir hale getirmek.
- Bundan sonra Linux temelli bir komutu çağırdığınızda ters ve düz bölme(slash, /,\) işaretlerinin aynı anlama gelecektir. Fakat kritik nokta makefile’ınızın için yol girerken slash’ları linux’taki gibi kullanmanız gerekli. Yani C:\CUDA gibi doğru kullanımlar hatalı sonuçlara sebep olabilir. Bunu C:/CUDA olarak değiştirmeniz gerekmektedir.
MinGW ile birlikte gelen derleyicileri kullanan herhangi bir projeniz için bu iki işlemi yapmanız yeterli olacaktır. Fakat gfortran gibi MinGW ile birlikte gelmeyen derleyicileri(yerine g77 var) ya da CUDA’yı kullanmak istiyorsanız daha farklı işlemler yapmanız gerekmekte.
gfortran kurulumu
- Buradan gfortran kurulum dosyasını indirin ve kurun. Varsayılan yol C:\Program Files\gfortran olacaktır.
- gfortran’ı komut satırından kullanabilmek için Ortam Değişkenlerine “C:\Program Files\gfortran\bin” yolunu ekleyin.
- Açıkcası neden ortam değişkenlerine eklediğimi hatırlamadığım bir yol daha var. Belli ki bir sorun üzerine eklemişim
. Bu yol değişkenini de aklınızın bir kenarında bulundurun. (C:\Program Files\gfortran\lib\gcc\i586-pc-mingw32\4.5.0). Sondaki sürümü kendi sürümünüze göre güncellemeyi unutmayın.
CUDA kurulumu
- Elbette burada kendi bilgisayarınıza uygun CUDA sürümünü indirip kurduğunuzu farzediyorum.
- Daha önce yapmadıysanız ortam değişkenlerinize eklemeniz gereken iki adet yol olacaktır.
- Bunlardan birincisi NVidia’nın CUDA derleyicisi nvcc’nin bulunduğu “C:\CUDA\bin”dir.
- Diğeri de nvcc’nin kullandığı cl.exe’nin bulunduğu yoldur. cl.exe MS Visual Studio kurduğunuzda bilgisayarınıza yüklenecektir. Bendeki Visual Studio 2005 kurulumu olduğu için de cl.exe’nin bulunduğu yol şuydu; “C:\Program Files\Microsoft Visual Studio 8\VC\bin”
Kısaca özetlersek, tüm bu kurulumları yaptıktan sonra eğer sürümleriniz aynı ise ortam değişkenlerine ekleyeceğiniz yollar şöyle olacaktır; “C:\MinGW\bin\;C:\MSYS\1.0\bin;C:\Program Files\Microsoft Visual Studio 8\VC\bin;C:\CUDA\bin;C:\Program Files\gfortran\bin”.
Umarım bu özet, Linux’ta yazdığı platform bağımsız koddan kolayca Windows çalıştırılabiliri üretmek isteyenlere yardımcı olacaktır. Düzeltmelerinizi yorumla bana iletebilirsiniz. İyi günler…
Düzeltme: Maalesef CUDA şu an için bu yöntemle Windows altında herhangi bir GCC derleyicisi ile kullanılamıyor. Farklı kaynaklardan öğrendiğim fakat onaylatamadığım kadarıyla kod gfortran ile derleniyormuş gibi gözükse de iki kodun bağlanmasında sorun çıkıyor. Windows altında cl.exe haricinde bir olasılık mümkün gözükmüyor. Bir gelişme olacağını sanmasam da Nvidia Forumlarında açtığım şu başlığı (Compiling CUDA with gfortran on Windows) sorunla alakalı olarak takip edebilirsiniz…











