Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revize Předchozí verze
public:pb071_eclipse_linux [2010/03/07 18:25]
Šimon Tóth
public:pb071_eclipse_linux [2018/02/24 19:10] (aktuální)
Řádek 1: Řádek 1:
 +====== Eclipse v systému Linux ======
  
 +Tento návod vás provede nastavením Eclipse pro účely předmětů PB071 a PB161 v prostředí Linux.
 +===== Instalace =====
 +==== Co budete potřebovat ====
 +
 +Pro korektní provoz Eclipse budete potřebovat:​
 +
 +  * Sun Java (ne některou z otevřených variant, jako OpenJDK), ideálně řada 1.6
 +  * sadu kompilačních nástrojů GCC, Make
 +  * debugger GDB
 +  * případně také nástroj Valgrind (bude se vám hodit cca. od poloviny semestru)
 +==== Stažení a instalace ====
 +
 +Nedoporučuji použít verzi z repozitářů. Stáhněte si edici pro C/C++ přímo ze stránek [[http://​www.eclipse.org/​downloads/​|projektu eclipse]].
 +==== Další pluginy ====
 +
 +  * [[ http://​www.eclipse.org/​linuxtools/​index.php|Linux Tools]]
 +
 +
 +
 +==== Eclipse v B130 ====
 +
 +Na počítačích v B130 je holá verze Eclipse bez pluginů.
 +
 +Help->​Install New Software->​Add
 +
 +  * CDT
 +  * http://​download.eclipse.org/​tools/​cdt/​releases/​galileo
 +
 +Nainstalovat:​
 +
 +  * CDT Main Features
 +    * Eclipse C/C++ Development Tools
 +  * CDT Optional Features
 +    * CDT GNU Toolchain Build Support
 +    * CDT GNU Toolchain Debug Support
 +    * CDT Utilities
 +    * Eclipse C/C++ Development Platform
 +
 +
 +  * LinuxTools
 +  * http://​download.eclipse.org/​technology/​linuxtools/​update
 +
 +Nainstalovat:​ Libhover, Valgrind (bohužel plugin pro valgrind v B130 nejde nainstalovat)
 +
 +===== Vytvoření a nastavení projektu =====
 +
 +Pokud si pro projekt nevytvoříte vlastní Makefile, platí pravidlo jedna binárka (jeden main) = jeden projekt.
 +Pro každý domácí úkol si proto musíte vytvořit samostatný projekt.
 +==== Vytvoření projektu ====
 +
 +Vytvořte nový C nebo C++ projekt (podle potřeby).
 +
 +{{:​public:​eclipselinux-001.png|}}
 +
 +Pro účely cvičení můžete použít projekt "Hello World"​.
 +
 +{{:​public:​eclipselinux-002.png|}}
 +
 +Release konfiguraci nebudete pro vývoj potřebovat,​ proto ji můžete deaktivovat.
 +
 +{{:​public:​eclipselinux-003.png|}}
 +
 +Po tomto kroku už můžete začít pracovat, nicméně před tím je vhodné projekt nastavit.
 +
 +V nastavení GCC je potřeba upravit tři sekce. Nastavit generování debugovacích informací na přepínač ''​-ggdb3''​ a v sekci o varováních nastavit kompletní sadu ''​-pedantic -Wall''​ a nakonec v poslední sekci nastavit zbylé přepínače ''​-std=c99 -Wextra''​.
 +
 +{{:​public:​eclipselinux-004.png|}}
 +
 +{{:​public:​eclipselinux-005.png|}}
 +
 +{{:​public:​eclipselinux-006.png|}}
 +
 +Pro pohodlnější editaci kódu si nakonec můžete nastavit zvýrazňování syntaxe doxygenu.
 +
 +{{:​public:​eclipselinux-007.png|}}
 +
 +A nakonec formát odsazování kódu. Pokud vám nevyhovuje ani jeden z přednastavených,​ klidně si vyklikejte svůj vlastní.
 +
 +{{:​public:​eclipselinux-008.png|}}
 +
 +Tím máme projekt kompletně nastavený a můžeme se posunout k vývoji.
 +==== Vložení dalších souborů do projektu a práce s prázdným projektem ====
 +
 +Pokud jste si z nějakého důvodu vytvořili prázdný projekt, dostanete se do následujícího stavu:
 +
 +{{:​public:​eclipselinux-020.png|}}
 +
 +Eclipse rozlišuje v rámci projektu dva typy adresářů. Obyčejný a "​source"​ folder. Data v obyčejných adresářích jsou ignorována,​ naopak v "​source"​ adresářích Eclipse hledá zdrojové kódy ke kompilaci.
 +
 +V dalším kroku si proto musíte vytvořit "​source folder"​ (přes [[:​public:​slovnik:​context_menu|kontextové menu]] projektu).
 +
 +{{:​public:​eclipselinux-021.png|}}
 +
 +Do něj nyní můžete stejným způsobem vložit potřebný počet zdrojových souborů.
 +
 +{{:​public:​eclipselinux-022.png|}}
 +
 +=== Import souborů ===
 +
 +Pokud chcete do projektu vložit externí soubory, můžete je jednoduše překopírovat do vytvořeného source adresáře. Protože Eclipse automaticky nekontroluje nové soubory v adresářích budete si muset vynutit refresh.
 +
 +{{:​public:​eclipselinux-023.png|}}
 +
 +Nebo můžete využít přímo importní funkci Eclipse.
 +
 +{{:​public:​eclipselinux-024.png|}}
 +
 +{{:​public:​eclipselinux-025.png|}}
 +
 +{{:​public:​eclipselinux-026.png|}}
 +
 +===== Překlad a testování programu =====
 +
 +Po nastavení už můžete program jednoduše přeložit stiskem tlačítka build {{:​public:​eclipselinux-012.png|}}. Pokud jste si místo "Hello World" projektu vybrali prázdný projekt, budete si muset ještě ručně přidat adresář pro zdrojové kódy (source folder) a alespoň jeden zdrojový soubor (se správnou příponou).
 +
 +Já ale doporučuji vybrat raději položku "Clean Project"​ z kontextového menu projektu. "Clean Project"​ totiž zajistí přeložení všech souborů v projektu (běžný build přeloží pouze souboru upravené), neuniknou vám tak žádné warningy.
 +
 +{{:​public:​eclipselinux-011.png|}}
 +
 +==== Chybová hlášení ====
 +
 +Eclipse automaticky parsuje výstup kompilátoru a jednotlivé nalezené chyby vám poskytne ve zjednodušeném seznamu.
 +
 +{{:​public:​eclipselinux-010.png|}}
 +
 +Příslušné řádky také graficky označí přímo ve zdrojovém kódu a v seznamu souborů.
 +
 +{{:​public:​eclipselinux-009.png|}}
 +==== Ostatní finty ====
 +
 +Pokud jste se dostali do stavu, kdy je čitelnost kódu díky divokému odsazování velmi nízká, můžete si program nechat přeformátovat.
 +Eclipse pak postupuje dle nastavení odsazovaní. Tuto volbu najdete v [[.slovnik:​context_menu|kontextovém menu]] editoru.
 +
 +{{:​public:​eclipselinux-013.png|}}
 +
 +Pokud se vám nechce vytvářet pro každý příklad nový projekt a nechcete vytvořené soubory mazat nebo přesouvat, můžete použít následující fintu.
 +V kontextovém menu projektu můžete odebrat konkrétní soubory z buildovacího systému. Při překladu pak bude Eclipse tyto soubory ignorovat.
 +
 +{{:​public:​eclipselinux-014.png|}}
 +
 +{{:​public:​eclipselinux-015.png|}}
 +
 +===== Debugování =====
 +
 +Debugovací režim spustíte kliknutím na tlačítko pro debugování {{:​public:​eclipselinux-019.png|}}. Eclipse se přepne do nového debugovacího rozhraní (Perspective,​ přepínání nahoře vpravo).
 +
 +
 +===== Další nástroje =====
 +
 +Ze sady nástrojů LinuxTools se vám budou hodit:
 +  * Libhover: nápověda ke standardním funkcím po najetí nad název funkce
 +  * Valgrind: integrace valgrindu do Eclipse
 +
 +Z ostatních pluginů se vám bude hodit Eclox. Jde o integraci Doxygenu do Eclipse (GUI pro nastavení a integrace generování dokumentace).
 +  * [[http://​home.gna.org/​eclox/​|Eclox]]
 +
 +==== Libhover ====
 +
 +Libhover funguje velice přímočaře. Jednoduše podržte myš nad názvem některé ze standardních funkcí a dostanete okamžitou nápovědu.
 +
 +{{:​public:​eclipselinux-016.png|}}
 +==== Valgrind ====
 +
 +Integraci valgrindu využijete v rámci cvičení pouze velice jednoúčelově,​ ale i tak vám může ušetřit mnoho času. Z kontextového menu projektu vyberte položku "​Profile as/Profile as Valgrind"​.
 +
 +{{:​public:​eclipselinux-017.png|}}
 +
 +{{:​public:​eclipselinux-018.png|}}
 +
 +====== Řešení problémů ======
 +
 +Veškeré problémy na které jsem zatím narazil na cvičeních a doma jsou zde:
 +
 +  * ujistěte se, že máte nainstalované přesně pluginy, které jsou uvedené na začátku. Víc pluginů obecně neškodí (zbytečně ale přidávají nové možnosti).
 +  * ujistěte se, že to co se snažíte zkompilovat je céčkový zdroják - má příponu .c
 +  * ujistěte se, že nemáte v cestě (workspace a projekt) mezery
 +  * ujistěte se, že v projektu máte jenom soubory, které chcete kompilovat. Eclipse kompiluje všechny soubory které v projektu budete mít. Pokud v něm budete mít víc než jeden soubor s funkcí main, program se nezkompiluje.
 +  * ujistěte se, že máte zdrojový soubor uložený
 +  * ujistěte se, že kompilujete správný projekt (pokud jich máte víc, je nejjednodušší ostatní zneaktivnit pomocí "Close Project"​)
QR Code
QR Code public:pb071_eclipse_linux (generated for current page)