Rehber C/C++ için MSYS2 GCC ve Code::Blocks Kurulumu ve Birlikte Çalıştırılması

BıraktıGitti

Centipat
Katılım
30 Eylül 2019
Mesajlar
241
Çözümler
4
Merhaba,

C/C++ dili ile programlama yapanlar için güncel GCC (MSYS2 paketi) ve kullanışlı bir IDE olan Code::Blocks ile birlikte çalıştırma hakkında yazmaya çalışacağım. Bu rehberi YouTube'da izlediğim ve çok beğendiğim CodeLite/MSYS2 Kurulum videosunu biraz değiştirerek ve ufak çaplı eklemeler yaparak anlatmaya çalışacağım. O videonun da bağlantısını vereceğim. DivXPlanet'in kapanmasının ardından yıllardır herhangi teknik bir konuda ayrıntılı rehber hazırlamamıştım, yıllar sonra tekrar rehber yapıyorum.

C/C++ programlamada en büyük sorunlardan biri düzgün bir editör/IDE ve güncel derleyicidir. Oldukça fazla editör/IDE denemiş bir kişi olarak bu programlar hakkında biraz da olsa tecrübe edindim. Visual Studio (MSVS), Visual Studio Code, CodeLite, Code::Blocks, Notepad++ vb. C/C++ editör/IDE'lerini denedim. Güncel olarak en uyumlu ve sorunsuz çalışan Code::Blocks ve MSYS2 oldu. Her ne kadar Code::Blocks'un MinGW ile birlikte paketi olsa da bu hali daha güncel, daha sorunsuz çalıştı. Aynı kurulum şeklini bilgisayarımda formattan önce ve sonra, ayrıca bir de Windows 7'li diğer sistemimde denedim, sorunsuz çalışıyor.

C/C++/C# geliştirmenin şahı her ne kadar Visual Studio (MSVS) olsa da özellikle yeni sürümlerde C geliştirmenin zorluğunu biliyoruz. Kaldı ki öğrenme aşamasındaki bir insanın da bu büyük programa ihtiyacı yoktur. Daha doğrusu editör/IDE-derleyici ihtiyacını daha basit, daha küçük boyutlu, sistemi yormayacak yollardan karşılaması mümkündür. Daha fazla uzatmadan programların kurulumuna geçelim.

Bu rehber 64bit sistemler içindir!

Öncelikle aşağıdaki adresten MSYS2 paketini indiriyoruz. (msys2-x86_64 olan exe dosyasını)

MSYS2 homepage

Screenshot_2.png

MSYS2 paketini nasıl güncelleyeceğimiz sayfanın altında yazıyor. Fakat YouTube'daki kurulum videosunda da söylenildiği gibi bu komuta zaman aşımını devre dışı bırakma komutu ekeyeceğiz. Böylece herhangi bir sorunla karşılaşmadan güncelleme yapabileceğiz.

Screenshot_3.png

Öncelikle MSYS2'yi yönetici olarak çalıştırıp kuruyoruz. Yoksa kurulumu tamamlayamayabiliyor.

Screenshot_4.png

Kurulum dosyası varsayılan olarak doğrudan sistemin kurulu olduğu yerde "msys2" adında bir klasöre kurulum yapacak. Örneğin sistem C sürücüsünde kurulu ise "C:\msys2" klasörüne program kurulacak. Bu adımdan sonra MSYS2'nin kurulu olduğu klasöre gidip, "msys2.exe" dosyasını yönetici olarak açıyoruz.

Screenshot_5.png Screenshot_6.png Screenshot_7.png

Daha sonra MSYS2'nin terminaline (Linux temelli terminal, "cls" yerine "clear" ya da "dir" yerine "ls" yazmak gerekiyor) MSYS2'nin web sayfasındaki komutların güncellenmiş halini girerek programı güncelliyoruz.

Kod:
pacman -Syu --disable-download-timeout

Bu güncelleme başlarken, işlem için onayımızı istiyor. Devam etmek için "e" diyerek ya da hiçbir şeye basmadan enter diyerek (varsayılan olarak evet ayarlı) güncellemeye başlıyoruz. Belli bir aşamaya gelince uyarı veriyor, devam etmek için terminal ekranını kapatıp açmamızı istiyor. Kapatırken çıkan uyarıya "OK" diyerek terminali kapatıyoruz, tekrar yönetici olarak açıyoruz, klavyedeki yön tuşlarından yukarı (up) okuna basınca, son girdiğimiz komut hafızasında olduğu için tekrar geliyor. Devam ediyoruz ve işlem sona eriyor.

Screenshot_8.png Screenshot_9.png Screenshot_10.png Screenshot_11.png

Daha sonra aşağıdaki komutları da girerek depoya GCC paketini, GDB paketini, Make paketini kuruyoruz.

Kod:
pacman -S mingw-w64-x86_64-gcc  --disable-download-timeout
pacman -S mingw-w64-x86_64-make  --disable-download-timeout
pacman -S mingw-w64-x86_64-gdb  --disable-download-timeout

Bu kurulumlarda yalnızca onay istiyor, ilk seferdeki gibi kapatıp açmaya gerek olmuyor.

Screenshot_12.png Screenshot_13.png Screenshot_14.png

Derleyicimizin kurulumu tamamlandı. Şimdi derleyicileri, ortam değişkenlerine ekleyerek derleyicilerin her yerden çağrılmalarını sağlıyoruz. Bunun için MSYS2'nin kurulu olduğu klasöre gidiyoruz ve MSYS2\mingw\bin klasörüne firip, bu klasörün dizinini kopyalıyoruz.

Screenshot_15.png

Daha sonra Bilgisayar simgesinin üzerinde sağ tıklayıp Özellikler'i seçiyoruz. (Denetim Masası\Sistem ve Güvenlik\Sistem ya da Başlat'a ortam değişkenleri yazıp) Gelişmiş sistem ayarları açıyoruz, "Ortam Değişkenleri"ne giriyoruz ve "path" bölümünü düzenle diyoruz, açılan pencerede yeni diyerek kopyadddığımız adres yolunu yapıştırıp, tamam diyoruz.

Screenshot_16.png Screenshot_17.png

Artık sistemimizde her yerden derleme yapabilecek GCC ve G++ var. Örneğin masaüstündeyiz:

Screenshot_18.png

Şimdi aşağıdaki adrese giriyoruz. Code::Blocks'un derleyici olmayan halini (veya kurulum yapmak istemiyorsanız kurulum istemeyen halini) indirip kuruyoruz.

Screenshot_1.png Screenshot_19.png

Karşılama ekranında derleyici soruyor (bulamadığını da belirtelim) ve arkasından dosya ilişkilendirme sorusu soruyor. İkisini de "OK" ile geçebiliriz.

Screenshot_20.png Screenshot_21.png

Şimdi Code::Blocks derleyici ayarlarına gelelim. Programın içinde "Settings" menüsünden "Compiler..." seçeneğine giriyoruz. "Global compiler settings" bölümünden "Selected Compiler" seçeneğini "GNU GCC Compiler" yaparak "Toolchain executables" sekmesine giriyoruz. Derleyicinin kurulu olduğu yeer olarak MSYS2 klasörümüzdeki MinGW64 altındaki bin klasörünü seçiyoruz ve derleyici ve diğer programları o klasörden seçiyoruz. (Resimdeki gibi)

Screenshot_22.png

Bundan sonra program gayet düzgün bir şekilde çalışıyor.

Screenshot_23.png

Derleyicileri elle kullanmak istersek de sorunsuz bir şekilde çalışıyor. C dilinde sadece bir printf komutuyla bir kod yazarak, kendiniz deneyebirsiniz.

Screenshot_24.png

---

Bahsettiğim YouTube videosu:

Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.


Uzun zaman böyle bir içerik hazırlamadığım için hatalarım olabilir. Lütfen hatalı ya da eksik yerleri bildirin.
EK:

MSYS2 ve GCC'yi güncelleme için MSYS2 terminaline ara ara şu kodu girip kontrol edin:

Kod:
pacman -Syu --disable-download-timeout
 
Son düzenleme:
Uyarı! Bu konu 7 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Geri
Yukarı