C++ derleyicisini Windows, Linux ve macOS'ta kur; kaynak dosyadan çalışan programa giden yolu öğren.
C++ derlemeli bir dildir. Yazdığın metin dosyasını (kaynak kod) bilgisayar doğrudan çalıştıramaz; önce derleyici dediğimiz bir araç onu makine koduna çevirir. Python gibi dillerde yorumlayıcı satırı satırına çalıştırır, C++'ta ise önce derler, sonra çıkan .exe dosyasını çalıştırırsın. Bu yüzden ilk işimiz bir derleyici kurmak.
Hangi derleyiciyi seçmeli?
Üç büyük derleyici var. Hepsi aynı dili anlar; fark kurulumda ve hata mesajlarında.
| Derleyici | Platform | Komut |
|---|---|---|
| g++ (GCC) | Linux, Windows (MSYS2), macOS | g++ |
| MSVC (Visual Studio) | Windows | cl |
| clang++ | macOS, Linux, Windows | clang++ |
Windows: g++ (MSYS2) ile
MSYS2'yi msys2.org adresinden indirip kur. Kurulum bitince "MSYS2 UCRT64" kısayolunu aç ve şu komutla derleyiciyi indir:
pacman -S mingw-w64-ucrt-x86_64-gcc
Ardından C:\msys64\ucrt64\bin klasörünü Windows'un PATH ortam değişkenine ekle ki her terminalden g++ yazabilesin.
Windows: MSVC ile
Visual Studio Community ya da yalnızca "Build Tools for Visual Studio" kurulumunda Desktop development with C++ iş yükünü işaretle. Sonra Başlat menüsünden "Developer Command Prompt" aç; cl komutu orada hazırdır.
Linux ve macOS
# Debian / Ubuntu
sudo apt install build-essential
# macOS (Xcode komut satırı araçları)
xcode-select --install
İlk derleme
Bir klasör aç ve içine merhaba.cpp adlı dosyayı yaz. Şimdilik satırların her birini anlamaya çalışma, bir sonraki derste hepsini açıklayacağız.
#include <iostream>
int main() {
std::cout << "Merhaba, C++!\n";
return 0;
}
g++ ile derle ve çalıştır:
g++ -std=c++17 -Wall -Wextra -o merhaba merhaba.cpp
./merhaba
MSVC'de karşılığı şudur:
cl /EHsc /std:c++17 /W4 merhaba.cpp
merhaba.exe
Merhaba, C++!
Bu bayraklar ne işe yarıyor?
-std=c++17: dilin hangi sürümünü kullanacağını söyler. Bu kursta C++17 yeterli.-Wall -Wextra: derleyicinin uyarıları açmasını sağlar. Uyarılar çoğu zaman hatanın ta kendisidir; hiç kapatma.-o merhaba: çıktı dosyasının adı. Vermezsen Linux'taa.out, Windows'taa.exeçıkar.
Arka planda ne oluyor?
Tek bir komut gibi görünse de derleme üç aşamadır. Önişlemci #include satırlarını açıp dosyaları birleştirir. Derleyici her .cpp dosyasını nesne koduna çevirir. Bağlayıcı (linker) nesne dosyalarını ve kütüphaneleri tek bir çalıştırılabilir dosyada toplar. Hata mesajı alınca hangi aşamada olduğuna bakmak çözümü hızlandırır: "undefined reference" gibi mesajlar bağlayıcıdan, "expected ';'" gibi mesajlar derleyiciden gelir.
Mühendis notu: gömülü sistemlerde (STM32, Arduino ailesi vb.) program kendi bilgisayarında değil hedef kartta çalışır. Bunun için çapraz derleyici kullanılır; örneğin ARM Cortex-M için arm-none-eabi-g++. Dil aynı, yalnızca derleyici hedef işlemciye göre değişir. Bu kursta öğrendiklerin oraya da taşınır.
Windows terminalinde Türkçe karakterler bozuk görünürse önce chcp 65001 komutunu çalıştır. Ayrıca kaynak dosyanı UTF-8 olarak kaydet. İlk derslerde çıktı yazılarında ASCII karakterleri tercih edeceğiz.
Kendin dene
- Derleyiciyi kur ve
g++ --version(ya dacl) komutunun çalıştığını doğrula. merhaba.cppdosyasını derleyip çalıştır.- Çıktıdaki metni kendi adınla değiştir, tekrar derle.
- Satırın sonundaki noktalı virgülü sil ve derleyicinin verdiği hata mesajını oku. Hata hangi satırı gösteriyor?
// Mini sınav
Bir seçeneğe tıkla; doğru mu yanlış mı, anında ve nedeniyle birlikte göreceksin.
Bitirdiğinde işaretle: ilerlemen kaydolur, +20 XP kazanırsın.
İpucu: ← → tuşlarıyla dersler arasında gezinebilirsin.