C fordítóból és fejlesztőeszközből annyi van, mint égen a csillag, köszönhetően a több, mint 50 éves történelemnek. Itt érdemes megjegyezni, hogy a C++ ugyan a C nyelv objektumorientált, kibővített változataként kezdte az életét és nagyjából kompatibilis a C-vel. Itt a hangsúly a nagyjából szón van erősen, mivel vannak olyan C++ funkciók, amik másként működnek, mint a C-ben, illetve a C rendelkezik egy-két olyan funkcióval, ami a C++ nyelvben nem található meg.
A C++ nyelvet támogató fordítók a C fájlok fordításával is elboldogulnak a legtöbb esetben, de nem mindig. Van, hogy explicit jelezni kell a kód módosításával, hogy ez C kód és nem C++.
Ebből adódóan használhatnánk a Visual Studio C++ támogatását, de inkább a GCC-t fogjuk használni a könyvben, mert ez Linux és Windows rendszereken is elérhető. Ugyanez elmondható a Visual Studio Code-ról, amit a programok írásához fogunk használni.
A GCC és a fordításhoz szükséges dolgok a Debian alapú rendszerek esetén az apt install build-essential gcc parancsok segítségével telepíthető. Windows esetén a GCC beszerzésének két módja is van. Telepíthetjük a Linux subsystem-et és egy Debiant. Ebben ugyanúgy, az apt segítségével tudunk telepíteni, de Linux binárisokat fogunk kapni. Ha natív Windows binárisokat szeretnénk fordítani a GCC-vel, akkor először az MSYS2-t kell telepítenünk.
Az MSYS2 tartalmazza az alap Unix parancsokat, illetve ez egy közös platformot biztosít a C és C++ fordítóknak. Ennek segítségével telepíthetünk könnyen párhuzamosan egymás mellé 32 bites és 64 bites fordítókat.
A https://www.msys2.org/ címről tudjuk letölteni az MSYS2 csomagot. A telepítés után több parancsikont is kapunk a Start menübe. Az MSYS2 MINGW64 futtatásával egy 64 bites környezetre konfigurált GCC környezetet kapunk, az MSYS2 MINGW32 elindításával pedig egy 32 bites környezetet. Azonban egyik környezetben sincs alapértelmezetten telepítve a fordító, de a használatára elő van konfigurálva a környezet.
A fordító nem része az MSYS2 projektnek, ezt a MINGW64 projekt fejlesztői tartják karban és többször adnak fordítót, mint amennyi MSYS2 frissítés van. Ezért a fordítót a környezetünkbe az pacman -S mingw-w64-x86_64-gcc parancs segítségével tudunk telepíteni. Ha 32 bites fordítóra is szükségünk van, akkor az MSYS2_MINGW32-t elindítva a pacman -S mingw-w64-i686-gcc parancs segítségével tudunk 32 bites fordítót is telepíteni.
A két környezet oka, hogy a GCC parancs a 32 bites környezetben a 32 bites GCC-t indítja majd el, a 64 bitesben pedig a 64 bitest. Frissíteni a teljes telepítést környezettől függetlenül a pacman -Syu parancs segítségével tudjuk. Ezt a teljes telepítés után érdemes lefuttatni.
A fordító telepítettségét a gcc --version parancs segítségével tudjuk ellenőrizni. A where gcc segítségével pedig ellenőrizhetjük, hogy hova is mutat pontosan a parancs. 32 bites környezeten a C:\msys64\mingw32\bin\gcc.exe helyre kellene mutatnia (feltételezve, hogy a C:\msys64 mappába telepítettük az MSYS2-t), 64 bites környezeten pedig a C:\msys64\mingw64\bin\gcc.exe helyre.