|
| 1 | +# Prostredie |
| 2 | + |
| 3 | +Budeme kompilovať naše projekty ako najštandardnejšie C++ zo štandardných C++. Takže musíme povypínať rôzne rozšírenia kompilátorov, neštandartné konštrukcie a čisto C konštrukcie. |
| 4 | + |
| 5 | +Samozrejme môžete použiť kompilátor aký chcete, ale oficiálne je podporované Visual Studio 2022 a GCC 13+. |
| 6 | + |
| 7 | +## Inštalácia VS 2022 |
| 8 | + |
| 9 | +Pri inštalácií nezabudnite zakliknúť, že chcete aj C++ vývojové nástroje. |
| 10 | + |
| 11 | + |
| 12 | + |
| 13 | +## Nastavenie VS 2022 |
| 14 | + |
| 15 | +Po spustení Visual Studia zvoľte **Create new project**. Pri vytváraní projektu vyberte *Empty project*. Môžete aj *Console application*, ale pre naše potreby je lepší prázdny projekt. |
| 16 | + |
| 17 | + |
| 18 | + |
| 19 | +Vyberte si meno projektu a prípadne aj umiestnenie a potvrďte kliknutím na *Create*. |
| 20 | + |
| 21 | + |
| 22 | + |
| 23 | +Teraz musíme pridať do projektu súbor, v ktorom budeme vytvárať náš program. |
| 24 | + |
| 25 | + |
| 26 | + |
| 27 | +Pridáme nový .cpp súbor (môžeme ho nazvať napríklad main.cpp keďže bude obsahovať našu funkciu main, teda náš vstup do programu). |
| 28 | + |
| 29 | + |
| 30 | + |
| 31 | +Do súboru napíšeme náš program. Napríklad |
| 32 | + |
| 33 | +```cpp |
| 34 | +#include <iostream> |
| 35 | + |
| 36 | +int main() { |
| 37 | + std::cout << "Hello world!\n"; |
| 38 | +} |
| 39 | +``` |
| 40 | + |
| 41 | +Po stlačený *F5*, alebo kliknutí na *Local Windows Debugger* by sa mal náš program skompilovať a spustiť. Teraz v nastaveniach projektu pomeníme nasledujúce možnosti. |
| 42 | + |
| 43 | + |
| 44 | + |
| 45 | +C/C++ → Language → Disable Language Extensions na Yes (/Za) |
| 46 | +C/C++ → Language → Conformance Mode uistíme sa, že je Yes (/permissive-) |
| 47 | +C/C++ → Language → C++ Language Standard na ISO C++ Standard (/std:c++20) |
| 48 | +C/C++ → Language → Treat Warnings As Errors (Yes (/WX)) |
| 49 | +C/C++ → Preprocessor → Use Standard Conforming Preprocessor (Yes (/Zc:preprocessor)) |
| 50 | +C/C++ → General → Warning Level uistíme sa, že je na Level4 (/W4) |
| 51 | +C/C++ → All Options → Additional Options nastavíme na /w44388 %(AdditionalOptions) |
| 52 | + |
| 53 | +## Nastavenie GCC |
| 54 | + |
| 55 | +Naše testy používajú GCC 13.2. Nemal by byť problém ani so staršími verziami, pokiaľ majú viacmenej úplnu podporu pre C++17 a aspoň čiastočnú pre C++20. |
| 56 | + |
| 57 | +Minimálne by ste mali používať tieto parametre -pedantic-errors --std=c++20 -pthread -Wall, ideálne si pridať (my ich budeme používať všetky) aj -Wextra -Wformat=2 -Wlogical-op -Wmissing-include-dirs -Wredundant-decls -Wstrict-overflow -Wundef -Wnull-dereference -Walloca -Wcast-qual -Werror=vla. Možno aj ďalšie, to si už nastavte podľa chuti 😃 . |
| 58 | + |
| 59 | +## Visual Studio Code |
| 60 | + |
| 61 | +Do populárneho editoru VS Code máme template pre MSVC aj pre GCC, tieto sú ale bez záruky, keďže sme ešte nemali dosť času ich otestovať. Na 95% sú ale dobre. |
| 62 | + |
| 63 | +[VS Code MSVC Project](/_files/APC-project-MSVC.zip) (Na správne fungovanie je potrebné aj rozšírenie C/C++) |
| 64 | + |
| 65 | +[VS Code GCC Project](/_files/APC-project-GCC.zip) (Musíte mať C/C++ rozšírenie, zároveň nainstalovaný gdb a gcc aspoň verzie 11, testované na Ubuntu 22.04 a 22.04) |
| 66 | + |
| 67 | +Alebo môžete použit devcontainer na programovanie C++. Prípadne použiť vyrobený [devcontainer](/_files/APC-project-devcontainer.zip). |
0 commit comments