Unelte și medii de dezvoltare

Din motive de experiență acumulată în timp, pentru compilarea efectivă s-a optat pe fișiere Makefile care să fie procesate de GNU Make. Sistemul avansat din GNU Make permite dezvoltarea de scripturi care să determine sistemul de operare, compilatoarele disponibile, disponibilitatea anumitor biblioteci și să folosească opțiunile de compilare corespunzătoare platformelor țintă.

Toate exemplele din această secțiune consideră existența unei partiții F: pe Windows, unde se găsesc în rădăcină fișierele Makefile_Defines.inc și Makefile_Programs.inc, precum și directorul Public cu sursele și fișierul Makefile ce generează biblioteca.

Cu acestea, un Makefile minimal ce produce binarele poate fi:

CPPFILES = Test.cpp
BASENAME = Test
# For console aplications on Windows
# CONSOLE = 1
include /Makefile_Programs.inc
 

Aplicațiile ce rulează în consolă nu au cerințe speciale. Aplicațiile ce implică interfață grafică trebuie să conțină:

#if defined(_WIN32)
int WINAPI WinMain(HINSTANCE /*hInstance*/,HINSTANCE /*hPrevInstance*/,LPSTR /*lpCmdLine*/,int /*nCmdShow*/)
#elif defined(__linux__)
int main()
#endif
{
  return 0;
}
 

Windows

Mediul de dezvoltare folosit este Microsoft Visual Studio, versiunea Community cea mai nouă, cu modulul C++ for Linux Development și cea mai nouă variantă de Windows SDK. Corect instalat și configurat, acesta permite definirea de proiecte de tip Makefile.

GNU Make poate fi instalat pe Windows în diverse moduri. Una dintre aceste soluții este managerul de pachete de la chocolatey.org.

Căile către compilatoarele de C/C++ din Microsoft Visual Studio și către GNU Make trebuie configurate în fișierul Makefile_Defines.inc conform cu versiunile instalate.

Binarele produse pentru sistemul de operare Windows (minim Windows 7 SP1) suportă procesoarele cu arhitecturi x86 și x86-64. Ca urmare a efortului continuu de îmbunătățire a performanțelor codului generat există o cerință minimă de disponibilitate a setului de intrucțiuni SSE2, cerință îndeplinită de toate procesoarele produse în ultimii 10 ani.

Linux

Datorită mediului de dezvoltare puternic oferit de Microsoft Visual Studio, pentru crearea binarelor Linux se folosește o mașină virtuală pe care este instalată o distribuție Debian stabilă, în mod consolă. Mașina virtuală folosită poate fi atât una de tip "clasic", dar și o soluție de tip WSL (Windows Subsystem for Linux). Cea de-a doua soluție este preferabilă întrucât oferă acces mai bun la resursele sistemului critice pentru viteza de compilare. Atenție! Este vorba despre soluția WSL, fără kernel Linux. Soluția WSL2 nu a fost testată!

După instalarea sistemului Debian, acesta trebuie actualizat și trebuie instalate compilatorul și utilitarul GNU Make, prin executarea urtmătoarelor comenzi:

Scripturile pentru compilare au nevoie de directorul Public și fișierele Makefile_Defines.inc și Makefile_Programs.inc să aibă definite legături simbolice în rădăcina sistemului de fișiere.

Ca și în cazul sistemului de operare Windows, binarele produse pentru procesoarele cu arhitecturi x86 și x86-64 necesită minim setul de instrucțiuni SSE2.

Pentru a produce binare pentru procesoarele ARM pe 32-biți versiunea 7 sau mai noi, trebuie instalate uneltele aferente arhitecturii armhf:

În cazul arhitecturii armhf sunt produse binare optimizate pentru următoarele platforme: