Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revize Předchozí verze Následující verze | Předchozí verze | ||
public:pb071_eclipse_linux [2010/03/05 05:55] Š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") |