====== Kompilace ====== ===== GCC ===== Toto je základní varianta pro použití v učebnách. Pro kompilaci pomocí gcc je třeba mít speciální konfiguraci kompilatoru gcc a to ''arm-linux-gnueabihf-gcc''. V laboratořích a na serveru Postel je tento kompilátor k dispozici. ^ Binární balíčky ^^ | Debian/Ubuntu | ''crossbuild-essential-armhf'' | | ArchLinux | ''arm-linux-gnueabihf-{gcc,gdb,glibc,binutils}'' | Seznam je průběžně doplňován. Další balíčky můžete navrhnou svému cvičícímu. ===== Zig cc / Clang ===== Doporučeno pro macOS a Windows Kompilátor ''Clang'' umožnuje crosscompilaci bez nutnosti specializovaného compileru, nicméně sám o sobě neneřeší druhotné problémy, jako jsou například základní knihovny. S tím nám pomůže nástroj ''zig cc'' (pro jazyk C), případně ''zig cxx'' (pro C++). ==== Instalace ==== Nejjednodušší variantou je instalace pomocí správce balíčků, která je ale dostupná pouze pro některé systémy. [[https://github.com/ziglang/zig/wiki/Install-Zig-from-a-Package-Manager|Detaily naleznete zde.]] Pokud váš systém není na seznamu, stáhněte si přímo spustitelný soubor ([[https://ziglang.org/download/|zde]]) a umístěte jej do zvoleného adresáře v ''path''. Alternativně můžete v ''Makefile'' použít absolutní cestu ke spustitelnému souboru. ==== Použití ==== Nahraďte v ''Makefile'' ''arm-linux-gnueabihf-gcc'' za ''zig cc --target=arm-linux-gnueabihf'' a ''arm-linux-gnueabihf-gcc'' za ''zig cxx --target=arm-linux-gnueabihf'' ==== Další informace ==== [[https://andrewkelley.me/post/zig-cc-powerful-drop-in-replacement-gcc-clang.html|`zig cc`: a Powerful Drop-In Replacement for GCC/Clang]]