{{page>courses:b6b36pjc:styles#common&noheader&nofooter}}
{{page>courses:b6b36pjc:styles#cviceni&noheader&nofooter}}
===== Příprava prostředí =====
Protože času na cvičení je málo a většina studentů preferuje možnost
pracovat na vlastních strojích, tato stránka obsahuje seznam programů,
které budete potřebovat během semestru a kde se dají najít (stáhnout).
Pokud budete pracovat na školních počítačích, přečtěte si poslední sekci
této stránky a nastavte si předem heslo pro váš školní účet.
Během semestru budete potřebovat 4 programy:
* Libovolný kompilátor podporující C%%++%%14 nebo novější
* Textový editor nebo plnohodnotné vývojové prostředí (IDE)
* CMake ve verzi 3.5 nebo novější
* git
Dále se vám může hodit program který vám najde různé chyby v kódu, jako
je Valgrind (Linux) nebo Dr. Memory (Windows).
==== Windows ====
* [[https://cmake.org/download/|K získání CMake pro Windows stačí
prostě stáhnout a nainstalovat oficiální instalační balíček.]]
* [[https://git-scm.com/download/win|To samé platí pro Git]]
=== Kompilátor (a IDE) ===
Pokud používáte Windows, velmi silně doporučujeme microsoftí kompilátor
a IDE, Visual Studio 2017, specificky Community Edition, která je pro
studenty zdarma. Instalační soubory naleznete
[[https://visualstudio.microsoft.com/downloads/|zde]], k tomu abyste
mohli používát VS 2017 déle než 30 dní potřebujete účet, který si můžete
vytvořit [[http://signup.live.com/|zde]].
//Pozor, již neplatí, že studenti katedry počítačů mají přístup k MSDNAA
licencím pro software of Microsoftu.//
Další možnost je používat [[https://www.jetbrains.com/clion/|CLion]],
komerční multiplatformní IDE of JetBrains, které, stejně jako VS Community
Edition, je pro studenty zdarma. Pokud již máte zkušenosti s jiným IDE od
JetBrains, bude vám ovládání i vzhled CLionu dobře známé.
==== Linux ====
Pokud používáte Linux, nejsnažší způsob, jak získat CMake, git a kompilátor,
je pomocí systémového balíčkovače (například ''apt''). Pozor na to, že pro
CMake nejspíše budete potřebovat i Make.
=== Kompilátor ===
Jako kompilátor můžete používat buďto GCC (respektive ''g%%++%%''), nebo Clang
(respektive ''clang%%++%%''). Obecně doporučujeme spíše Clang((Ostatně v Brute,
automatickém známkovacím systému, budou vaše úkoly kompilovány práve Clangem)),
ale protože je GCC výchozí kompilátor ve většině distribucí, je o něco
více práce Clang používat. Ve skutečnosti však stačí libovolný z nich,
alespoň pokud máte dostatečně aktuální verzi. V případě GCC by měla stačit
verze 4.9 nebo novější, v případě Clangu by měla stačit verze 3.4 nebo
novější.
//Pozor, Clang používá stejnou standardní knihovnu jako GCC, takže pokud
chcete používat Clang a máte nainstalovanou starou verzi GCC, potřebujete
nainstalovat novější verzi ''libstdc%%++%%'', aby vám kompilace s Clangem
fungovala tak, jak má.//
=== IDE (nebo textový editor) ===
Narozdíl od Windows pro Linux nedoporučujeme jedno specifické IDE, ale
vybrali jsme jich pár, které fungují dobře:
* [[https://www.kdevelop.org/|KDevelop]]
* [[https://www.qt.io/ide/|QTCreator]]
* [[https://www.jetbrains.com/clion/download/#section=linux|CLion]] je komerční, ale zdarma pro studenty
* [[https://code.visualstudio.com/Download|VSCode]] je na hranici mezi IDE a textovým editorem, díky spoustě pluginů podporuje i C%%++%%
* [[https://netbeans.org/|NetBeans]] je stejné IDE, jako je na školních strojích. Z uvedených IDE ho doporučujeme nejméně, protože aktuální verze NetBeans nefunguje s aktuální verzí Javy a GCC
//Samozřejmě není potřeba nutně používat IDE, stačí textový editor, se kterým
umíte pracovat.//
==== OS X ====
//Z praktických důvodů((Nikdo z nás Mac nevlastní a Apple nenabízí trial
verzi do virtuálních strojů)) není návod pro OS X znovu odzkoušený a
updatovaný//
K získání kvalitního kompilátoru na OS X vám "stačí" nainstalovat XCode.
"Stačí", protože XCode potřebuje 4.5GB a k jeho stažení potřebujete Apple ID.
Nejsnažší způsob, jak získat git a CMake, se zdá být 3rd-party balíčkovač
[[https://brew.sh/index_cs|HomeBrew]].
==== Kontrola funkčnosti prostředí ====
Kontrola funkcionality Gitu i CMake je jednoduchá: otevřete si
termínál/konzoli a zkuste, zda vám ''cmake %%--%%version'' a
''git %%--%%version'' vypíšou rozumný výstup (nezapomeňte, že je třeba,
aby CMake byl ve verzi 3.5 nebo novější). Pokud ano, CMake i git jsou
v cestě a funkční. Pokud ne, musíte si je do cesty přidat.
Kontrola funkcionality kompilátoru je o něco těžší, ale připravili jsme
pro vás gití repozitář, který většinu zařídí za vás. Stačí, když si
otevřete konzoli nebo terminál a překopírujete do ní tyto řádky
//(to, že jim nerozumíte, je v pořádku, vysvětlíme si je později)//
git clone https://gitlab.fel.cvut.cz/horenmar/pjc-environment-test.git
cd pjc-environment-test
cmake -Bbuild -H. -DCMAKE_BUILD_TYPE=Debug
cmake --build build
cd build
ctest -C Debug
výstup z posledního příkazu by měl vypadat zhruba takto
Test project /mnt/c/ubuntu/pjc-environment-test/build
Start 1: string-check
1/3 Test #1: string-check ..................... Passed 0.02 sec
Start 2: c++14-check
2/3 Test #2: c++14-check ...................... Passed 0.02 sec
Start 3: thread-check
3/3 Test #3: thread-check ..................... Passed 0.02 sec
100% tests passed, 0 tests failed out of 3
Total Test time (real) = 0.10 sec
Pokud je váš výstup zásadně jiný,
[[https://cw.felk.cvut.cz/forum/forum-1587.html|napište na fórum]].
==== Školní stroje ====
V místnostech používaných pro cvičení je při bootu k dispozici ''Ubuntu'', kde
najdete Clang ve verzi 3.8, g%%++%% ve verzi 5.3.0, Netbeans, Eclipse a
samozřejmě základní linuxí utility. Jako IDE doporučujeme Netbeans, kde si
budete muset aktivovat C/C%%++%% plugin, jako čistý textový editor můžete použít
třeba Gedit (nebo všudypřítomné vi/nano).
//Pokud budete používat Netbeans, nezapomeňte si nastavit nástroje na Clang a
standard jazyka na C%%++%%14//.
Před prvním přihlášením si budete [[https://www.felk.cvut.cz|muset nastavit
heslo]].