Portál AbcLinuxu, 30. dubna 2025 14:22

Eclipse CDT 4.0 – část třetí - Content Assist jede!

11.11.2007 05:01 | Přečteno: 1308× | desktop linux

Dobrá zpráva. Musím popřít svoje předchozí informace o sice bleskově rychlém ale polofunkčním Code Assistu. A sice, že bleskové o je, to zůstává, ale navíc to i funguje. A popírám rád. S menším nadšením připouštím, že chyba byla – převážně - v místech mezi klávesnicí a židlí.

Chybu jsem nahlásil do bugzilly. CDT sdílí jednotnou bugzillu s celou plaformou Eclipse. https://bugs.eclipse.org/bugs/show_bug.cgi?id=204055 Tam se mi dostalo rozporuplných informací. Jednak, že CDT parser má s Qt specifiky problém, že podobný problém nemám jen já. Na druhou starnu jsem našel aktuální informace přímo od Douga Schaefera (hlavní vývojář), že by to mělo fungovat, že to mají ošetřené i pro Qt.

Zkusil jsem tedy načíst další projekty a vrtal se v konfiguraci a kladl si otázky, jak vlastně CDT zjistilo lokaci potřebných hlavičkových, nic jsem přeci nikam nezadával. Není naivní myslet si, že si je najde v Makefile, stejně jako to je schopen vlastní buildovací proces? V Javě se přeci také musí do build path dát odkazy na externí knihovny, jinak se kód hemží červenými vlnovkami pod textem a věřte mi, není to myšleno jako dekorace. Je to první krok u jakéhokoliv netriviálního importovaného projektu dát odkazy ba všechna ta JARka a někdy je to pěkná fuška,. Že by to bylo s C projekty snazší? Na tom mi něco nesedělo.

CDT se s hlavičkovými soubory nemaže, jde cestou nejmenšího odporu, ke každému projektu přiřadí rovnou celý adresář /usr/include a to rekurzivně. Jak je to nastavené na Windows netuším. Na Linuxu by se všechny hlavičkové soubory skutečně měli v /usr/include, případně /usr/local/include, nacházet. Ne tak docela. Na PCLinuxu jsou, z nějakého důvodu Qt hlavičky pod /usr/lib/qt3/include, resp. /usr/lib/qt4/include. Netuším proč, aby se netloukli dvě generace Qt nainstalované zároveň?

Stačilo přida /usr/lib/qt3/include do Project Properties – C/C++ General – Paths and symbols – Includes – GNU C++, pak rebuild index a najednou se začalo vše chovat jak mělo, všechny Qt i KDE třídy a funkce se obarvily do zelenkavé barvy, neklamné to znamení, že definice prvku je známá.

A chyba byla, převážně, na mé straně, ale tak úplně nevinně v tom CDT není. Nenalezené definiční soubory knihovny by měla Eclipse nějak detekovat a nahlásit. Místo toho se nechala pravděpodobně zmást forward deklaracemi a označila právě Qt prvky jako známé a naopak paradoxně velkou část KDE a vlastního projektu jako neznámé. Chybu jsem nahlásil v bugzille jako INVALID, ale chybka tam někde skutečně, jen někde trochu jinde. Než na ní někdo přijde, budu si užívat funkčního Content Assitu.

       

Hodnocení: 100 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.