Áàçîâîå ðóêîâîäñòâî ïî èñïîëüçîâàíèþ IDE Eclipse c 2009 À. Ì. Âàñèëüåâ, È. Â. Ïàðàìîíîâ 6/09/2009 Âåðñèÿ 1.0 Äàííîå ðóêîâîäñòâî îïèñûâàåò îñíîâíûå äåéñòâèÿ, ïîçâîëÿþùèå íà÷àòü èñïîëüçîâàòü ñðåäó ðàçðàáîòêè Eclipse äëÿ ñîçäàíèÿ ïðîåêòîâ íà ÿçûêàõ C è C++.  ðóêîâîäñòâå ïðåäïîëàãàåòñÿ èñïîëüçîâàíèå âåðñèè ñðåäû ðàçðàáîòêè, ðàçìåù¼ííîé â ëîêàëüíîé ñåòè 7-ãî êîðïóñà ßðÃÓ. Óêàçàíèÿ îòíîñèòåëüíî å¼ ïîëó÷åíèÿ è óñòàíîâêè ïðèâåäåíû â ïðèëîæåíèè À. Áëîêè òåêñòà, îáâåä¼ííûå â ðàìêó, îñâåùàþò îñîáåííîñòè èñïîëüçîâàíèÿ IDE Eclipse â êîìïüþòåðíûõ êëàññàõ 7-ãî êîðïóñà ßðÃÓ. Ñîäåðæàíèå 1 Îñíîâíûå ïîíÿòèÿ 2 2 Çàïóñê ñðåäû ðàçðàáîòêè 3 3 Ñîçäàíèå ïðîåêòîâ íà ÿçûêàõ C è C++ 3 4 Êîìïèëÿöèÿ ïðîåêòà 9 5 Çàïóñê ïðèëîæåíèÿ èç ñðåäû 9 6 Ïåðåíîñ ïðîåêòà èç îäíîãî ðàáî÷åãî ïðîñòðàíñòâà â äðóãîå 10 6.1 Ýêñïîðò ïðîåêòà . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 6.2 Èìïîðò ïðîåêòà . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 6.3 Èçìåíåíèå Toolchain äëÿ ïðîåêòà . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 7 Îòâåòû íà ÷àñòî çàäàâàåìûå âîïðîñû 15 Ïðèëîæåíèå À. Óñòàíîâêà ñðåäû ðàçðàáîòêè Eclipse 16 A.1 Óñòàíîâêà â îïåðàöèîííîé ñèñòåìå Windows . . . . . . . . . . . . . . . . . . . . . . . Óñòàíîâêà ñðåäû ðàçðàáîòêè íå â êîðåíü äèñêà C: . . . . . . . . . . . . . . . 16 A.2 Óñòàíîâêà â îïåðàöèîííîé ñèñòåìå GNU/Linux . . . . . . . . . . . . . . . . . . . . . 17 A.1.1 1 16 1 Îñíîâíûå ïîíÿòèÿ Îñíîâíûì ïîíÿòèåì ñîâðåìåííûõ èíòåãðèðîâàííûõ ñðåä ðàçðàáîòêè (IDE Integrated opment Environment) Devel- ÿâëÿåòñÿ ïîíÿòèå ïðîåêòà. Ïîä ïðîåêòîì ïîíèìàåòñÿ ñîâîêóïíîñòü ôàéëîâ èñõîäíûõ òåêñòîâ, à òàêæå íàñòðîåê ñðåäû ðàçðàáîòêè, îïðåäåëÿþùèõ, êàêèì îáðàçîì íåîáõîäèìî ñîçäàâàòü, çàïóñêàòü è îòëàæèâàòü ðàçðàáàòûâàåìîå ïðèëîæåíèå. Íà óðîâíå ôàéëîâîé ñèñòåìû ïðîåêòó ñîîòâåòñòâóåò êàòàëîã, ñîäåðæàùèé âñå óêàçàííûå âûøå ýëåìåíòû. Îñîáåííîñòüþ ñðåäû ðàçðàáîòêè Eclipse ÿâëÿåòñÿ íàëè÷èå ïîíÿòèÿ ðàáî÷åãî ïðîñòðàíñòâà (workspace). Ðàáî÷åå ïðîñòðàíñòâî ýòî êàòàëîã íà æ¼ñòêîì äèñêå, â êîòîðîì õðàíèòñÿ èíôîðìàöèÿ î ëîãè÷åñêè îáúåäèí¼ííûõ ïðîåêòàõ è äðóãèõ íàñòðîéêàõ ñðåäû ðàçðàáîòêè. Ïðîåêòû, îòíîñÿùèåñÿ ê äàííîìó ðàáî÷åìó ïðîñòðàíñòâó ìîãóò êàê íàõîäèòüñÿ êàê â ýòîì æå êàòàëîãå, òàê è â äðóãèõ êàòàëîãàõ. Âíèìàíèå! Ñëåäóåò èìåòü â âèäó, ÷òî IDE Eclipse íå óìååò ðàáîòàòü ñ ïðîåêòàìè, êîòîðûå íå áûëè ñîçäàíû âíóòðè ðàáî÷åãî ïðîñòðàíñòâà èëè çàðåãèñòðèðîâàíû êàê îòíîñÿùèåñÿ ê íåìó, ïîýòîìó äëÿ ïåðåíîñà ïðîåêòà íà äðóãóþ ìàøèíó (â ÷àñòíîñòè ïðè ïåðåíîñå ïðîåêòîâ èç äîìà â êîìïüþòåðíûå êëàññû óíèâåðñèòåòà è îáðàòíî) íåîáõîäèìî âûïîëíÿòü ïðîöåäóðû èìïîðòà/ýêñïîðòà, îïèñàííûå â ï. 6. Íèæå ïåðå÷èñëåíû äâà âîçìîæíûõ ñöåíàðèÿ èñïîëüçîâàíèÿ IDE Eclipse, îòëè÷àþùèåñÿ ìåñòîíàõîæäåíèåì ðàáî÷åãî ïðîñòðàíñòâà è ñîçäàâàåìûõ ïðîåêòîâ. 1. Ðàáî÷åå ïðîñòðàíñòâî íà æ¼ñòêîì äèñêå, ïðîåêòû õðàíÿòñÿ âíóòðè íåãî âàðèàíò äëÿ ðàáîòû äîìà.  ïðîñòåéøåì ñëó÷àå äîñòàòî÷íî èñïîëüçîâàòü îäíî ðàáî÷åå ïðîñòðàíñòâî (îíî áóäåò ñîçäàíî àâòîìàòè÷åñêè ïðè ïåðâîì çàïóñêå Eclipse è ïî óìîë÷àíèþ áóäåò ïðåäñòàâëÿòü ñîáîé êàòàëîã ñ èìåíåì workspace) è ñîçäàâàòü ïðîåêòû âíóòðè íåãî.  ýòîì ñëó÷àå âñå îòíî- ñÿùèåñÿ ê ðàçðàáàòûâàåìîìó ïðèëîæåíèþ ôàéëû áóäóò ðàñïîëàãàòüñÿ âíóòðè ïîäêàòàëîãà êàòàëîãà workspace ñ èìåíåì, ñîâïàäàþùèì ñ èìåíåì ïðîåêòà. Ïðîöåäóðà ñîçäàíèÿ ïðî- åêòîâ îïèñàíà â ï. 3. 2. Ïðîåêòû õðàíÿòñÿ âíå êàòàëîãà ðàáî÷åãî ïðîñòðàíñòâà âàðèàíò îðãàíèçàöèè â êîìïüþòåðíûõ êëàññàõ 7-ãî êîðïóñà. Ðàáî÷èå ïðîñòðàíñòâà â êîìïüþòåðíûõ êëàññàõ óíèâåðñèòåòà ñîçäàþòñÿ âõîäå ïîëüçîâà- óäàëÿþòñÿ ïðè êàæäîé ïåðåçàãðóçêå.  ñâÿçè ñ ýòèì íåîáõîäèìî â îáÿçàòåëüíîì ïîðÿäêå ñîõðàíÿòü ñâîè ïðîåêòû â ñïåöèàëüíî ïðåäíàçíà÷åííûõ äëÿ ýòîãî ìåñòàõ: â êëàññàõ ñ ÎÑ GNU/Linux â êàòàëîãå net-home âíóòðè äîìàøíåãî êàòàëîãà ïîëüçîâàòåëÿ, à â êëàññàõ ñ ÎÑ Windows íà äèñêå H:. Ôàéëû, ñîõðàí¼ííûå òåëÿ â ñèñòåìó è â äàííûõ êàòàëîãàõ, áóäóò äîñòóïíû èç ëþáûõ êîìïüþòåðíûõ êëàññîâ âíå çàâèñèìîñòè îò îïåðàöèîííîé ñèñòåìû è íå áóäóò óäàëåíû ïðè ïåðåçàãðóçêå. Âíèìàíèå! Íå ñîõðàíÿéòå ïðîåêòû âíóòðè àâòîìàòè÷åñêè workspace, èíà÷å îíè áóäóò óäàëåíû ïðè ïåðåçàãðóçêå! ñîçäàâàåìîãî êàòàëîãà Ïîñëå êàæäîé ïåðåçàãðóçêè ðàáî÷åå ïðîñòðàíñòâî áóäåò î÷èùàòüñÿ è äëÿ ïðîäîëæåíèÿ ðàáîòû íàä ðàíåå ñîõðàí¼ííûì (â êàòàëîãå net-home èëè íà äèñêå H:) ïðîåêòîì ïîòðå- áóåòñÿ âûïîëíèòü åãî ïîâòîðíûé èìïîðò. Ïðè ïåðåíîñå ïðîåêòà èç äîìà íåîáõîäèìî âûïîëíèòü åãî ýêñïîðò â êàòàëîã íà ôëåøíîñèòåëå, ñêîïèðîâàòü â ïîäêàòàëîã êàòàëîãà net-home èëè êàòàëîã äèñêà H:, à çàòåì âûïîëíèòü ïðîöåäóðó èìïîðòà. Ïðîöåäóðû ýêñïîðòà è èìïîðòà îïèñàíû â ï. 6. 2 2 Çàïóñê ñðåäû ðàçðàáîòêè Ïðè çàïóñêå IDE Eclipse ïðîñèò óêàçàòü ìåñòîïîëîæåíèå ðàáî÷åãî ïðîñòðàíñòâà. Ðèñ. 1. Îêíî âûáîðà ðàáî÷åãî ïðîñòðàíñòâà IDE Eclipse  êîìïüþòåðíûõ êëàññàõ óíèâåðñèòåòà Âàì ïî óìîë÷àíèþ ïðåäëàãàåòñÿ âûáðàòü óæå íàñòðîåííîå ðàáî÷åå ïðîñòðàíñòâî.  äàëüíåéøåì â ðóêîâîäñòâå ïðåäïîëàãàåòñÿ, ÷òî èñïîëüçóåòñÿ èìåííî ýòî ðàáî÷åå ïðîñòðàíñòâî. Âíèìàíèå! Àäìèíèñòðàòîðû è ïðåïîäàâàòåëè íå íåñóò îòâåòñòâåííîñòè çà ðàáîòîñïîñîáíîñòü ñðåäû, åñëè: • ïðè ñòàðòå IDE Eclipse âûáðàíî íå ïðåäíàñòðîåííîå ðàáî÷åå ïðîñòðàíñòâî; • çàïóñê IDE Eclipse â îïåðàöèîííîé ñèñòåìå Windows ïðîèçâåä¼í íå ñ ïîìîùüþ ñïåöèàëüíî ïðåäíàçíà÷åííûõ äëÿ ýòîãî ÿðëûêîâ. 3 Ñîçäàíèå ïðîåêòîâ íà ÿçûêàõ C è C++ File > New > C Project, ÷òîáû çàïóñòèòü ìàñòåð ñîçäàíèÿ File > New > C++ Project, ÷òîáû çàïóñòèòü ìàñòåð ñîçäàíèÿ 1. Âûáåðèòå ïóíêò ãëàâíîãî ìåíþ ïðîåêòà Ñè èëè ïóíêò ïðîåêòà C++. 2. Ââåäèòå íàçâàíèå ïðîåêòà â ïîëå Project name â ïîÿâèâøåìñÿ îêíå. Ñòàðàéòåñü âûáèðàòü îñìûñëåííûå íàçâàíèÿ äëÿ ïðîåêòîâ. Âíèìàíèå! Ðåêîìåíäóåòñÿ èñïîëüçîâàòü äëÿ íàçâàíèé ïðîåêòîâ òîëüêî ëàòèíñêèå áóê- âû, öèôðû, ñèìâîëû ¾äåôèñ¿ è ¾ïîä÷¼ðêèâàíèå¿ (íàïðèìåð, HelloWorldProject, hello- world-project, hello_world_project è ò. ï.). Íèêîãäà íå èñïîëüçóéòå ñèìâîëû êèðèëëèöû è ïðîáåëû, òàê êàê ýòî ìîæåò ïðèâåñòè ê ïðîáëåìàì ïðè îòëàäêå, à òàêæå ïðè ïåðåíîñå ïðîåêòîâ ìåæäó ðàáî÷èìè ïðîñòðàíñòâàìè! 3 Ðèñ. 2. Çàïóñê ìàñòåðà ñîçäàíèÿ ïðîåêòà èç ìåíþ Ðèñ. 3. Ïåðâîå îêíî ìàñòåðà ñîçäàíèÿ ïðîåêòà 4 3. Óêàæèòå ìåñòîïîëîæåíèå íîâîãî ïðîåêòà. Ïî óìîë÷àíèþ íîâûé ïðîåêò áóäåò ñîçäàí âíóòðè ðàáî÷åãî ïðîñòðàíñòâà, â ïîäêàòàëîãå ñ èìåíåì, ñîâïàäàþùèì ñ íàçâàíèåì ïðîåêòà. Âíèìàíèå! Ðàáî÷èå ïðîñòðàíñòâà â êîìïüþòåðíûõ êëàññàõ óíèâåðñèòåòà ñîçäàþòñÿ ïðè Âàøåì âõîäå â ñèñòåìó è óäàëÿþòñÿ ïðè êàæäîé ïåðåçàãðóçêå!  ñâÿçè ñ ýòèì íåîáõîäèìî â îáÿçàòåëüíîì ïîðÿäêå ñîõðàíÿòü ñâîè ïðîåêòû â ñïåöèàëüíî ïðåäíàçíà÷åííûõ äëÿ ýòîãî ìåñòàõ: â êëàññàõ ñ ÎÑ Windows íà äèñêå H:, à â êëàññàõ ñ ÎÑ GNU/Linux â êàòàëîãå net-home âíóòðè ñâîåãî äîìàøíåãî êàòàëîãà. Ôàéëû, ñîõðàí¼ííûå â äàííûõ êàòàëîãàõ áóäóò äîñòóïíû äëÿ Âàñ èç ëþáûõ êîìïüþòåðíûõ êëàññàõ âíå çàâèñèìîñòè îò îïåðàöèîííîé ñèñòåìû è íå áóäóò óäàëåíû ïðè ïåðåçàãðóçêå. Ïîñëå êàæäîé ïåðåçàãðóçêè ðàáî÷åå ïðîñòðàíñòâî áóäåò î÷èùàòüñÿ è äëÿ ïðîäîëæåíèÿ ðàáîòû íàä ðàíåå ñîõðàí¼ííûì ïðîåêòîì ïîòðåáóåòñÿ âûïîëíèòü åãî èìïîðò. Ñîîòâåòñòâóþùèå ïðîöåäóðû îïèñàíû â ï. 6.2 íàñòîÿùåãî ðóêîâîäñòâà. Ðèñ. 4. Óêàçàíèå äðóãîãî ìåñòîïîëîæåíèÿ äëÿ ïðîåêòà Äëÿ âûáîðà ìåñòîïîëîæåíèÿ íîâîãî ïðîåêòà íåîáõîäèìî ñíÿòü ãàëî÷êó ñ ïóíêòà location è óêàçàòü ïóòü ê ñîîòâåòñòâóþùåìó êàòàëîãó. Âíèìàíèå! Êîãäà Âû óêàçûâàåòå ïóòü ê ìåñòîïîëîæåíèþ Use default ïðîåêòà ñëåäóåò ïîìíèòü, ÷òî ñðåäà íå áóäåò ñîçäàâàòü ïîäêàòàëîã äëÿ õðàíåíèÿ ôàéëîâ, à áóäåò â òî÷íîñòè èñïîëüçîâàòü óêàçàííûé Âàìè ïóòü. 5 Project Type): äëÿ ïðîåêòîâ íà ÿçûêå Ñè âûáåðèòå âàðèàíò Hello World ANSI C Project, à äëÿ ïðîåêòîâ íà ÿçûêå C++ âàðèàíò Hello World C++ Project â ãðóïïå Executable. 4. Âûáåðèòå òèï ïðîåêòà ( Ðèñ. 5. Âûáîð òèïà ñîçäàâàåìîãî ïðîåêòà 5. Âûáåðèòå Toolchain (íàáîð èíñòðóìåíòîâ, íåîáõîäèìûõ äëÿ êîìïèëÿöèè è ãåíåðàöèè èñ- ïîëíÿåìîãî êîäà èç èñõîäíûõ òåêñòîâ ïðîãðàìì, à òàêæå äëÿ åãî îòëàäêè). GNU/Linux, òî âûáèðàéòå Linux GCC, Windows, òî MinGW. Åñëè âû ñîçäà¼òå ïðîåêò â îïåðàöèîííîé ñèñòåìå åñëè â îïåðàöèîííîé ñèñòåìå 6. Äëÿ ïðîäîëæåíèÿ íàæìèòå íà êíîïêó 7.  ïîëÿ Next. Author, Copyright notice, Hello word greeting ââåäèòå íóæíûå çíà÷åíèÿ (èìÿ àâòîðà, èíôîðìàöèÿ î àâòîðñêèõ ïðàâàõ, òåêñò ïðèâåòñòâèÿ, êîòîðûå áóäóò âêëþ÷åíû â ñîçäàííûå ñðåäîé ôàéëû). 8.  ïîëå Source ââåäèòå íàçâàíèå êàòàëîãà, â êîòîðîì áóäóò ðàñïîëàãàòüñÿ èñõîäíûå ôàéëû src. Âàøåãî ïðèëîæåíèÿ. Ïî óìîë÷àíèþ îíè áóäóò ðàñïîëîæåíû â ïîäêàòàëîãå ïðîåêòà Ýòî óëó÷øèò íàâèãàöèþ âíóòðè ïðîåêòà, òàê êàê èñõîäíûå ôàéëû è ñîîòâåòñòâóþùèå èì áèíàðíûå áóäóò ðàçíåñåíû ïî ðàçíûì êàòàëîãàì. 9. Äëÿ ïðîäîëæåíèÿ íàæìèòå êíîïêó Next. 10.  ïîÿâèâøåìñÿ îêíå îòìåòüòå íóæíûå êîíôèãóðàöèè. Ïî óìîë÷àíèþ ñîçäàþòñÿ êîíôèãóðàöèè Debug è Release. Ïåðâàÿ èç íèõ ñëóæèò äëÿ îòëàäêè íàïèñàííîãî ïðèëîæåíèÿ, âòîðàÿ äëÿ ðàñïðîñòðàíåíèÿ ãîòîâîãî ïðèëîæåíèÿ. 11. Äëÿ çàâåðøåíèÿ ñîçäàíèÿ ïðîåêòà íàæìèòå êíîïêó 6 Finish. Ðèñ. 6. Çàïîëíåíèå èíôîðìàöèè î ïðîåêòå Ðèñ. 7. Âûáîð ñîçäàâàåìûõ êîíôèãóðàöèé ñáîðêè 7 Ïîñëå çàêðûòèÿ îêíà ìàñòåðà ñîçäàííûé ïðîåêò ïîÿâèòñÿ â îêíå ñðåäû ðàçðàáîòêè íà ïàíåëè Project Explorer.  äàííîé ïàíåëè îòîáðàæàåòñÿ ñïèñîê ðàçëè÷íûõ ýëåìåíòîâ, îòíîñÿùèõñÿ ê ïðîåêòó: èñõîäíûå òåêñòû, êîíôèãóðàöèè çàïóñêà, âêëþ÷àåìûå çàãîëîâî÷íûå ôàéëû è ò. ä. Äëÿ ðàçâ¼ðòûâàíèÿ è ñâ¼ðòûâàíèÿ âëîæåííûõ ýëåìåíòîâ íà ïàíåëè Project Explorer èñïîëüçóþòñÿ ùåë÷êè ëåâîé êíîïêîé ìûøè ïî òðåóãîëüíè÷êàì ñëåâà îò ñîîòâåòñòâóþùèõ ýëåìåíòîâ. Èñõîäíûå òåêñòû ïðèëîæåíèÿ õðàíÿòñÿ â ðàçäåëå src. Ïî óìîë÷àíèþ ñîçäà¼òñÿ åäèíñòâåííûé ôàéë èñõîäíûõ òåêñòîâ. Åãî ìîæíî îòêðûòü äâîéíûì ùåë÷êîì. Ðèñ. 8. Ãëàâíîå îêíî IDE Eclipse ñ âíîâü ñîçäàííûì ïðîåêòîì Ðèñ. 9. Ôàéë èñõîäíîãî òåêñòà, àâòîìàòè÷åñêè ñîçäàííûé ñðåäîé 8 4 Êîìïèëÿöèÿ ïðîåêòà Project > Build All èëè èñïîëüçóéòå ñîCtrl+B. Ïîñëå êîìïèëÿöèè ïðîãðàììû Âû ñìîæåòå çàïóñòèòü ïðèëîæåíèå èç Äëÿ òîãî, ÷òîáû ñêîìïèëèðîâàòü ïðîåêò íàæìèòå ÷åòàíèå êëàâèø ñðåäû (ñì. ï. 5) èëè âðó÷íóþ èç ñèñòåìû. Èñïîëíÿåìûé ôàéë ïðîãðàììû áóäåò ñîçäàí â êàòàëîãå â <Èìÿ âàøåãî ïðîåêòà>/<Íàçâàíèå êîíôèãóðàöèè>. Äëÿ êàæäîé êîíôèãóðàöèè ïðîöåññ êîìïèëÿöèè íàäî ïðîâîäèòü îòäåëüíî. Äëÿ âûáîðà êîíôèãóðàöèè ñëåäóåò âûáðàòü ïóíêò ìåíþ Project > Build Congurations > Set Active îòêðîåòñÿ âûïàäàþùåå ìåíþ ñî âñåìè ñóùåñòâóþùèìè êîíôèãóðàöèÿìè. Âñå äàëüíåéøèå äåéñòâèÿ (êîìïèëÿöèÿ, çàïóñê, îòëàäêà) áóäóò ïðîèçâîäèòüñÿ ñ âûáðàííîé êîíôèãóðàöèåé. Ðèñ. 10. Âûáîð êîíôèãóðàöèè ñáîðêè 5 Çàïóñê ïðèëîæåíèÿ èç ñðåäû Äëÿ çàïóñêà ïðèëîæåíèÿ èç ñðåäû íåîáõîäèìî ñîçäàòü êîíôèãóðàöèþ çàïóñêà (íå ïóòàéòå èõ ñ êîíôèãóðàöèÿìè ñáîðêè, êîòîðûå èñïîëüçóþòñÿ ïðè êîìïèëÿöèè ïðèëîæåíèÿ ñì. ïðåäûäóùèé ïóíêò). Êîíôèãóðàöèÿ çàïóñêà îïðåäåëÿåò, êàêèì îáðàçîì áóäåò çàïóùåíî ïðèëîæåíèå.  íå¼ âõîäÿò: àðãóìåíòû êîìàíäíîé ñòðîêè, ïåðåäàâàåìûå ïðèëîæåíèþ ïðè çàïóñêå, ïåðåìåííûå ñðåäû, òèï è ïàðàìåòðû îòëàä÷èêà. Íèæå ïðèâåäåíà ïðîöåäóðà ñîçäàíèÿ êîíôèãóðàöèè çàïóñêà. 1. Âûáåðèòå èç ñïèñêà ïðîåêòîâ (ñëåâà â ïàíåëè Project Explorer) òîò ïðîåêò, äëÿ êîòîðîãî õîòèòå ñîçäàòü êîíôèãóðàöèþ. 2. Âûáåðèòå ïóíêò ãëàâíîãî ìåíþ Run > Run Congurations... Ïîÿâèòñÿ îêíî óïðàâëåíèÿ êîíôèãóðàöèÿìè çàïóñêà. 9 Ðèñ. 11. Îêíî óïðàâëåíèÿ êîíôèãóðàöèÿìè çàïóñêà 3.  ïîÿâèâøåìñÿ îêíå âûáåðèòå C/C++ Local Application è íàæìèòå íà êíîïêó New. Áóäåò ñîçäàíà íîâàÿ êîíôèãóðàöèÿ. 4. Ââåäèòå èìÿ êîíôèãóðàöèè â ïîëå 5. Åñëè ïîëå Name. C/C++ Application ïóñòî, íàæìèòå íà êíîïêó Search Project... è âûáåðèòå ñâîé ïðîåêò. 6. Íàæìèòå íà êíîïêó Apply, ÷òîáû ñîõðàíèòü èçìåíåíèÿ. Çàòåì íàæìèòå Run, ÷òîáû çà- ïóñòèòü ïðèëîæåíèå. 6 Ïåðåíîñ ïðîåêòà èç îäíîãî ðàáî÷åãî ïðîñòðàíñòâà â äðóãîå Ïåðåíîñ ïðîåêòà ñ îäíîãî ðàáî÷åãî ïðîñòðàíñòâà â äðóãîå (ñ îäíîé ðàáî÷åé ñòàíöèè íà äðóãóþ) ñîñòîèò èç äâóõ îïåðàöèé: ýêñïîðòà è èìïîðòà. Âíèìàíèå! Ïåðåä âûïîëíåíèåì ïåðåíîñà ïðîåêòà èç äîìà â êîìïüþòåðíûé êëàññ èëè îáðàòíî âíèìàòåëüíî îçíàêîìüòåñü ñ âàðèàíòàìè îðãàíèçàöèè ðàáî÷èõ ïðîñòðàíñòâ â ï. 1. 6.1 Ýêñïîðò ïðîåêòà 1.  îêíå Project Explorer âûáåðèòå ïðîåêò, êîòîðûé Âû õîòèòå ïåðåíåñòè â äðóãîå ðàáî÷åå ïðîñòðàíñòâî. 2. Çàïóñòèòå ìàñòåð ýêñïîðòà, âûáðàâ ïóíêò ãëàâíîãî ìåíþ 3. Âûáåðèòå ïóíêò File > Export. General > File System è íàæìèòå êíîïêó Next. 4. Ïî óìîë÷àíèþ áóäóò ýêñïîðòèðîâàíû âñå ôàéëû. Âû ìîæåòå ñíÿòü âûäåëåíèå ñ òåõ ïàïîê èëè ôàéëîâ, êîòîðûå íå õîòèòå ýêñïîðòèðîâàòü. Ðåêîìåíäóåòñÿ íå èçìåíÿòü íàñòðîåê, åñëè âû íå çíàåòå, ÷òî èìåííî èñêëþ÷àòü èç ýêñïîðòà. 5. Âûáåðèòå êàòàëîã, â êîòîðûé áóäåò çàïèñàí ïðîåêò, íàæàâ êíîïêó âåðøèòå âûïîëíåíèå ýêñïîðòà, íàæàâ êíîïêó 10 Finish. Browse..., à çàòåì çà- Ðèñ. 12. Ìàñòåð ýêñïîðòà ïðîåêòîâ Ðèñ. 13. Ìàñòåð ýêñïîðòà â êàòàëîã 11 6.2 Èìïîðò ïðîåêòà Âíèìàíèå! Èìïîðò ïðîåêòà íåâîçìîæåí â ñëåäóþùèõ ñëó÷àÿõ: • •  ðàáî÷åì ïðîñòðàíñòâå óæå ñóùåñòâóåò ïðîåêò ñ òàêèì æå èìåíåì. Âû èìïîðòèðóåòå ïðîåêò ñ êîïèðîâàíèåì ôàéëîâ â workspace, à öåëåâîé êàòàëîã óæå ñó- ùåñòâóåò. Âíèìàíèå! Ïåðåä âûïîëíåíèåì èìïîðòà ïðîåêòà â êîìïüþòåðíîì êëàññå ñëåäóåò ñêîïèðîâàòü êàòàëîã ñ èìïîðòèðóåìûì ïðîåêòîì â ïîäêàòàëîã êàòàëîãà net-home èëè êàòàëîã äèñêà H: 1. Çàïóñòèòå ìàñòåð èìïîðòà ïðîåêòà, âûáðàâ ïóíêò ãëàâíîãî ìåíþ General > Existing Projects into Workspace è íàNext äëÿ ïåðåõîäà ê ñëåäóþùåìó îêíó ìàñòåðà. 2.  ïîÿâèâøåìñÿ îêíå âûáåðèòå ïóíêò æìèòå êíîïêó File > Import... Ðèñ. 14. Îêíî ìàñòåðà èìïîðòà 12 3. Íàæìèòå ðàäèîêíîïêó Select root directory. Íàæìèòå íà êíîïêó Browse... è íàéäèòå êàòàëîã ñ ïðîåêòîì, êîòîðûé Âû õîòèòå èìïîðòèðîâàòü. Ðèñ. 15. Ìàñòåð èìïîðòà ïðîåêòà èç êàòàëîãà 4.  ñïèñêå Projects ïðîâåðüòå, ÷òîáû ïðîåêò, êîòîðûé âû õîòèòå èìïîðòèðîâàòü, áûë îòìå- ÷åí. Âíèìàíèå! Ïðè èìïîðòå ïðîåêòà óáåäèòåñü, ÷òî ãàëî÷êà Copy projects into workspace ñíÿòà, òàê êàê â ïðîòèâíîì ñëó÷àå ïðîåêò áóäåò ñêîïèðîâàí â ðàáî÷åå ïðîñòðàíñòâî, è âñå èçìåíåíèÿ, êîòîðûå Âû â íåãî âíåñ¼òå, áóäóò ïîòåðÿíû ïðè ïåðåçàãðóçêå (ïðè ýòîì ïåðâîíà÷àëüíàÿ âåðñèÿ â êàòàëîãå net-home èëè íà äèñêå H: îñòàíåòñÿ íåèç- ìåííîé!). Åñëè æå ãàëî÷êà ñíÿòà, òî ïðîåêò ïðîñòî áóäåò çàðåãèñòðèðîâàí êàê îòíîñÿùèéñÿ ê äàííîìó ðàáî÷åìó ïðîñòðàíñòâó, à âñå èçìåíåíèÿ, êîòîðûå Âû â íåãî âíåñ¼òå, áóäóò ïðîèñõîäèòü â êàòàëîãå net-home èëè íà äèñêå H: 5. Äëÿ çàâåðøåíèÿ èìïîðòà íàæìèòå êíîïêó Âíèìàíèå! Finish. Åñëè Âû èìïîðòèðóåòå â ñðåäó ðàçðàáîòêè ïðîåêò, ñîçäàííûé ïîä äðóãîé îïå- ðàöèîííîé ñèñòåìîé (ïðîåêò áûë ñîçäàí â ÎÑ Windows, à Âû õîòèòå ïåðåíîñèòå åãî íà ìàøèíó, ðàáîòàþùóþ ïîä óïðàâëåíèåì ÎÑ GNU/Linux), òî Âàì íåîáõîäèìî èçìåíèòü íàñòðîéêè íàáîðà èíñòðóìåíòîâ ( Toolchain).  ïðîòèâíîì ñëó÷àå êîìïèëÿöèÿ, çàïóñê, îòëàäêà ïðîåêòà áóäóò íåâîçìîæíû. Òðåáóåìàÿ ïðîöåäóðà îïèñàíà â ñëåäóþùåì ïóíêòå. 6.3 Èçìåíåíèå Toolchain äëÿ ïðîåêòà Äëÿ èçìåíåíèÿ 1.  îêíå Toolchain äëÿ ïðîåêòà âûïîëíèòå ñëåäóþùèå äåéñòâèÿ. Project Explorer âûáåðèòå ïðîåêò, äëÿ êîòîðîãî íåîáõîäèìî èçìåíèòü Toolchain. 2. Âûáåðèòå ïóíêò ìåíþ Project > Properties. 13 Ðèñ. 16. Çàïóñê ðåäàêòîðà ñâîéñòâ ïðîåêòà 3.  ïîÿâèâøåìñÿ îêíå âûáåðèòå ïóíêò ñïèñêà íàñòðîåê C/C++ Build > Tool Chain Editor. Ðèñ. 17. Îêíî íàñòðîåê ïðîåêòà Eclipse, ðåäàêòîð Toolchain Åñëè âûáðàííàÿ íàñòðîéêà Toolchain íå ïîäõîäèò äëÿ ðàáîòû ñ ïðîåêòîì â äàííîé îïåðà- öèîííîé ñèñòåìå, òî Âû óâèäèòå ñîîáùåíèå The conguration support is not installed on the system. Current toolchain ïîäõîäÿùèé íàáîð èíñòðóìåíòîâ. Äëÿ Linux GCC; äëÿ îïåðàöèîííîé ñèñòåìû Windows MinGW GCC è íàæìèòå êíîïêó Apply. 4. Âûáåðèòå â âûïàäàþùåì ñïèñêå îïåðàöèîííîé ñèñòåìû GNU/Linux ýòî 5. Ïîâòîðèòå ïðåäûäóùèé øàã äëÿ âñåõ êîíôèãóðàöèé ïðîåêòà, ïîñëåäîâàòåëüíî âûáèðàÿ èõ â ïîëå Conguration. Çàìå÷àíèå. Ñîîáùåíèå The conguration support is not installed on the system ìîæåò íå èñ÷åçàòü ïðè èñïðàâëåíèè ïðîáëåìû èëè, íàîáîðîò, èñ÷åçàòü ïðè âûáîðå íåïðàâèëüíîãî íàáîðà èíñòðóìåíòîâ. Íå îáðàùàéòå íà íåãî âíèìàíèÿ ïîñëå òîãî, êàê íà÷àëè âíîñèòü èçìåíåíèÿ â äàííîì äèàëîãîâîì îêíå. 14 7 Îòâåòû íà ÷àñòî çàäàâàåìûå âîïðîñû • ×òî òàêîå ïðîåêò? Ïðîåêò ýòî ñîâîêóïíîñòü ôàéëîâ èñõîäíûõ òåêñòîâ, à òàêæå íàñòðîåê ñðåäû ðàçðàáîòêè, îïðåäåëÿþùèõ, êàêèì îáðàçîì íåîáõîäèìî ñîçäàâàòü, çàïóñêàòü è îòëàæèâàòü ðàçðàáàòûâàåìîå ïðèëîæåíèå. Íà óðîâíå ôàéëîâîé ñèñòåìû ïðîåêòó ñîîòâåòñòâóåò êàòàëîã, ñîäåðæàùèé âñå óêàçàííûå âûøå ýëåìåíòû. • Äëÿ ÷åãî íàäî ñîçäàâàòü ïðîåêò? Ïðîåêò íàäî ñîçäàâàòü äëÿ òîãî, ÷òîáû ñðåäñòâî ðàçðàáîòêè (IDE Eclipse) ìîãëî ñîçäàòü èç ôàéëîâ èñõîäíûõ òåêñòîâ ïðèëîæåíèå. • Ó ìåíÿ åñòü îäèí ôàéë è åãî íàäî ñêîìïèëèðîâàòü, íàäî ëè ñîçäàâàòü äëÿ ýòîãî ïðîåêò? Äà. Ïðè ðàáîòå ñ ëþáîé ñîâðåìåííîé ñðåäîé ðàçðàáîòêè äëÿ êîìïèëÿöèè ëþáîãî êîëè÷åñòâà èñõîäíûõ ôàéëîâ íåîáõîäèìî ñîçäàâàòü ïðîåêò. Åñëè Âû íå õîòèòå ñîçäàâàòü ïðîåêò, ìîæíî ñêîìïèëèðîâàòü îäèí ôàéë íåïîñðåäñòâåííî ñ ïîìîùüþ êîìïèëÿòîðà êîìàíäíîé ñòðîêè. •  ÷¼ì ðàçíèöà ìåæäó êîíôèãóðàöèÿìè: Debug è Release âåäü ïîñëå êîìïèëÿöèè â ëþáîé èç íèõ ïîÿâëÿþòñÿ èñïîëíÿåìûå ôàéëû ïðîãðàìì? Ïðè êîìïèëÿöèè ïðîåêòà â êîíôèãóðàöèè Debug â ðåçóëüòèðóþùèé ôàéë áóäóò äîáàâëåíû ñïåöèàëüíûå ñèìâîëû, óïðîùàþùèå îòëàäêó ïðèëîæåíèÿ, íî óâåëè÷èâàþùèå ðàçìåð ôàéëà. Ïðèëîæåíèÿ, ñêîìïèëèðîâàííûå â êîíôèãóðàöèè Release, íå ñîäåðæàò òàêèõ ñèìâîëîâ, íî îïòèìèçèðîâàíû äëÿ áîëüøåé ñêîðîñòè âûïîëíåíèÿ. • workspace çà÷åì ìíå ïðîèçâîäèòü ñëîæíûå ïðîöåäóðû, åñëè ìîæíî ïðîñòî ïåðåíåñòè åãî â äðóãîé êàòàëîã workspace? Ïðîåêò ñîçäà¼òñÿ â êàòàëîãå Äëÿ IDE Eclipse íå èìååò çíà÷åíèÿ â êàêîì êàòàëîãå íàõîäèòñÿ ñàì ïðîåêò. Îñíîâíîå íàçíà÷åíèå ðàáî÷åãî ïðîñòðàíñòâà (êàòàëîãà workspace) õðàíèòü èíôîðìàöèþ îá èçâåñòíûõ ñðåäå ïðîåêòàõ è èõ íàñòðîéêàõ. Ïðîñòîå êîïèðîâàíèå êàòàëîãà ñ ïðîåêòîì èç îäíîãî êàòàëîãà workspace â äðóãîé íå ïåðåíåñ¼ò íåîáõîäèìûå íàñòðîéêè, ïîýòîìó íåîáõîäèìî èñ- ïîëüçîâàòü ïðîöåäóðû ýêñïîðòà è èìïîðòà ïðîåêòà (ñì. ï. 6). • ß ñîçäàë ïðîåêò â îäíîì ðàáî÷åì ïðîñòðàíñòâå, ïåðåí¼ñ åãî â äðóãîå ðàáî÷åå ïðîñòðàíñòâî, âí¼ñ èçìåíåíèÿ è õî÷ó, ÷òîáû ýòè èçìåíåíèÿ ïîÿâèëèñü â ïåðâîì. Ìíå íåîáõîäèìî ïðîäåëûâàòü ïðîöåäóðû ýêñïîðòà/èìïîðòà åù¼ ðàç?  äàííîì ñëó÷àå â ïåðâîì ðàáî÷åì ïðîñòðàíñòâå óæå åñòü èíôîðìàöèÿ î ñàìîì ïðîåêòå è åãî íàñòðîéêàõ. Ïîýòîìó, åñëè ïðîåêò ïåðåíîñèòñÿ ìåæäó ðîäñòâåííûìè îïåðàöèîííûìè ñèñòåìàìè, ïðîöåäóðû ýêñïîðòà/èìïîðòà ìîæíî ïîïûòàòüñÿ çàìåíèòü êîïèðîâàíèåì. Òåì íå ìåíåå, â íåêîòîðûõ ñëó÷àÿõ âîçìîæíû îøèáêè, ïîýòîìó äàííûì ñïîñîáîì ïîëüçîâàòüñÿ íå ðåêîìåíäóåòñÿ, åñëè Âû íå óâåðåíû â ïðàâèëüíîñòè òîãî, ÷òî äåëàåòå. 15 Ïðèëîæåíèå À. Óñòàíîâêà ñðåäû ðàçðàáîòêè Eclipse Âíèìàíèå!  ðóêîâîäñòâå ïðåäïîëàãàåòñÿ èñïîëüçîâàíèå âåðñèè ñðåäû ðàçðàáîòêè, ðàçìå- ù¼ííîé â ëîêàëüíîé ñåòè 7-ãî êîðïóñà ßðÃÓ. Åñëè äëÿ óñòàíîâêè èñïîëüçîâàí äðóãîé äèñòðèáóòèâ èëè óñòàíîâêà ïðîèçâåäåíà ñ íàðóøåíèÿìè ïðèâåä¼ííûõ èíñòðóêöèé, òî çà ðàáîòîñïîñîáíîñòü ñðåäû ïðåïîäàâàòåëè è àäìèíèñòðàòîðû îòâåòñòâåííîñòè íå íåñóò. Äèñòðèáóòèâû ñðåäû ðàçðàáîòêè Eclipse äëÿ îïåðàöèîííûõ ñèñòåì GNU/Linux è MS Windows Âû ìîæåòå ñêà÷àòü ñ ëþáîãî êîìïüþòåðà 7-ãî ó÷åáíîãî êîðïóñà íåçàâèñèìî îò òîãî, êàêàÿ îïåðàöèîííàÿ ñèñòåìà íà í¼ì óñòàíîâëåíà. Äèñòðèáóòèâû ðàñïîëàãàþòñÿ • â êàòàëîãå net-inform/ALL/__Distr/Eclipse/<íàçâàíèå_îïåðàöèîííîé_ñèñòåìû >, åñ- ëè íà êîìïüþòåðå óñòàíîâëåíà îïåðàöèîííàÿ ñèñòåìà GNU/Linux; • â êàòàëîãå I:\Inform\ALL\__Distr\Eclipse\<íàçâàíèå_îïåðàöèîííîé_ñèñòåìû >, åñ- ëè íà êîìïüþòåðå óñòàíîâëåíà îïåðàöèîííàÿ ñèñòåìà Windows. A.1 Óñòàíîâêà â îïåðàöèîííîé ñèñòåìå Windows Äëÿ óñòàíîâêè Âàì ïîòðåáóþòñÿ äâà ôàéëà: • ôàéë eclipse-cpp-galileo-windows-with-mingw-4.4.zip, ñîäåðæàùèé ñðåäó ðàçðàáîòêè è íàáîð êîìïèëÿòîðîâ äëÿ ÿçûêîâ C è C++; • ôàéë jre-6u16-windows-i586.exe, ñîäåðæàùèé ìèíèìàëüíóþ ðåàëèçàöèþ âèðòóàëüíîé ìà- øèíû Java (Java Runtime Environment, JRE), êîòîðàÿ íåîáõîäèìà äëÿ ðàáîòû IDE Eclipse. Íèæå ïðèâåäåíà ïîñëåäîâàòåëüíîñòü äåéñòâèé ïî óñòàíîâêå. 1. Çàïóñòèòå ôàéë jre-6u16-windows-i586.exe è ñëåäóéòå èíñòðóêöèÿì ìàñòåðà óñòàíîâêè JRE. 2. Ðàñïàêóéòå ñîäåðæèìîå àðõèâà eclipse-cpp-galileo-windows-with-mingw-4.4.zip â êî- C:. Âíèìàíèå! Åñëè Âû ïî êàêèì-ëèáî ïðè÷èíàì íå ìîæåòå ðàñïàêîâàòü àðõèâ â êîðåíü äèñêà C:, òî îáðàòèòåñü ê ï. A.1.1. ðåíü äèñêà 3. Çàïóñòèòå ñðåäó ðàçðàáîòêè Eclipse ñ ïîìîùüþ ôàéëà âíóòðè êàòàëîãà eclipse. StartEclipse.bat, ðàñïîëîæåííîãî A.1.1 Óñòàíîâêà ñðåäû ðàçðàáîòêè íå â êîðåíü äèñêà C: Äàííûé âàðèàíò óñòàíîâêè ñëåäóåò èñïîëüçîâàòü òîëüêî â òîì ñëó÷àå, êîãäà óñòàíîâêà ñðåäû ðàçðàáîòêè â êîðåíü äèñêà • ôàéë C: íåâîçìîæíà. Äëÿ óñòàíîâêè Âàì ïîòðåáóþòñÿ äâà ôàéëà: eclipse-cpp-galileo-windows-with-mingw-4.4.zip, ñîäåðæàùèé ñðåäó ðàçðàáîòêè è íàáîð êîìïèëÿòîðîâ äëÿ ÿçûêîâ C è C++; • ôàéë jre-6u16-windows-i586.exe, ñîäåðæàùèé ìèíèìàëüíóþ ðåàëèçàöèþ âèðòóàëüíîé ìà- øèíû Java (Java Runtime Environment, JRE), êîòîðàÿ íåîáõîäèìà äëÿ ðàáîòû IDE Eclipse. Íèæå ïðèâåäåíà ïîñëåäîâàòåëüíîñòü äåéñòâèé ïî óñòàíîâêå. 1. Çàïóñòèòå ôàéë jre-6u16-windows-i586.exe è ñëåäóéòå èíñòðóêöèÿì ìàñòåðà óñòàíîâêè JRE. 2. Ðàñïàêóéòå ñîäåðæèìîå àðõèâà eclipse-cpp-galileo-windows-with-mingw-4.4.zip â íóæeclipse è MinGW. íûé Âàì êàòàëîã.  í¼ì äîëæíû ïîÿâèòñÿ äâà ïîäêàòàëîãà: Âíèìàíèå! Ïîëíûé ïóòü êàòàëîãà, â êîòîðûé Âû ðàñïàêîâûâàåòå ñðåäó ðàçðàáîòêè íå äîëæåí ñîäåðæàòü ïðîáåëîâ è ðóññêèõ áóêâ. 16 3. Îòêðîéòå òåêñòîâûì ðåäàêòîðîì ôàéë eclipse\StartEclipse.bat è çàìåíèòå âñå ïóòè, ñî- C:, íà êàòàëîã, â êîòîðûé Âû ðàñïàêîâàëè ñîäåðæèìîå àðõèâà. Íàïðèìåð, åñëè Âû ðàñïàêîâàëè ñîäåðæèìîå àðõèâà â êàòàëîã D:\Programs, eclipse\StartEclipse.bat äîëæåí âûãëÿäåòü ñëåäóþùèì îáðàçîì: äåðæàùèå äèñê ôàéë @echo off echo Setting up environment... echo -- Using MinGW in: D:\Programs\MinGW\bin echo -- Using MSYS in D:\Programs\MinGW\msys\bin set PATH=D:\Programs\MinGW\bin;D:\Programs\MinGW\msys\bin set PATH=%PATH%;%SystemRoot%\System32 echo Starting eclipse... START "" "D:\Programs\eclipse\eclipse.exe" 4. Çàïóñòèòå ñðåäó ðàçðàáîòêè Eclipse ñ ïîìîùüþ ôàéëà âíóòðè êàòàëîãà A.2 eclipse. StartEclipse.bat, ðàñïîëîæåííîãî Óñòàíîâêà â îïåðàöèîííîé ñèñòåìå GNU/Linux Äëÿ óñòàíîâêè ïîòðåáóåòñÿ ôàéë eclipse-cpp-galileo-linux.tar.gz, ñîäåðæàùèé ñîáñòâåííî ñðåäó ðàçðàáîòêè Eclipse. 1. Ñðåäñòâàìè ñèñòåìû óïðàâëåíèÿ ïàêåòàìè óñòàíîâèòå ñëåäóþùèå ïàêåòû: • • • gcc êîìïèëÿòîð GNU C; g++ êîìïèëÿòîð GNU C++; sun-java6-jre ìèíèìàëüíàÿ âèðòóàëüíàÿ ìàøèíà Java, íåîáõîäèìàÿ IDE Eclipse äëÿ ðàáîòû (èìÿ ïàêåòà ìîæåò áûòü äðóãèì â çàâèñèìîñòè îò äèñòðèáóòèâà). Íåîáõîäèìàÿ äëÿ óñòàíîâêè êîìàíäà îòëè÷àåòñÿ îò ñèñòåìû ê ñèñòåìå. Íàïðèìåð, äëÿ Debian-ïîäîáíûõ ñèñòåì: sudo aptitude install gcc g++ sun-java6-jre 2. Ðàñïàêóéòå ñîäåðæèìîå àðõèâà eclipse-cpp-galileo-linux.tar.gz â êàòàëîã /opt: sudo tar xzf eclipse-cpp-galileo-linux.tar.gz -C /opt Âîçìîæíà ðàñïàêîâêà ñðåäû è â ëþáîé äðóãîé êàòàëîã. 3. Çàïóñòèòå ñðåäó ðàçðàáîòêè ñ ïîìîùüþ èñïîëíÿåìîãî ôàéëà /opt/eclipse/eclipse 17