Krzysztof Wesołowski Programowanie, elektronika, automatyka – doświadczenia i projekty

15paź/08

Eclipse CDT – środowisko C/C++

Instalacja Eclipse:

Najpierw zainstalujemy środowisko Eclipse CDT, czyli program Eclipse wzbogacony o dodatkowe wtyczki ułatwiające pracę w językach C/C++.

Pobieramy go ze strony:

http://www.eclipse.org/downloads/
wersja: Eclipse IDE for C/C++ Developers

Pobierzesz w ten sposób skompresowana wersje, która najlepiej sobie rozpakować w jakieś nieprzeszkadzające miejsce (przyjąłem ze to C:\Program Files)1.

Dodatkowo eclipse do działania może wymagać Javy (którą prawdopodobnie już dawno masz ją na swoim komputerze, jeśli nie, pobierzesz ją tutaj: http://java.com/pl/download/manual.jsp2

Po pierwszym uruchomieniu Eclipse CDT, gdy mamy już Javę zostaniemy zapytani o domyślny katalog projektów etc, warto wybrać jakiś sensowny, na rzadko czyszczonym dysku, i zaznaczyć że nie chcemy więcej widzieć tego pytania. Niestety, uruchomione teraz środowisko wymaga jeszcze kompilatora.

Do naszych celów, że tak powiem edukacyjnych polecam MinGW. Najlepiej z TEJ STRONY pobrać "Automated MinGW Installer". Po jego uruchomieniu i zdecydowaniu że chcemy pobrać i zainstalować najlepiej wybrać wersję bieżącą (Current) a w liście programów do "MinGW base tools" dodać "g++ compiler" oraz "MinGW make". Pozostałe języki chętnie was uraczą swoimi kompilatorami gdy będziecie ich potrzebować :). Po wybraniu ścieżki3 MinGW pobierze się i zainstaluje na twoim komputerze. Po jego instalacji można skasować ściągnięte instalki czy archiwa, oraz uruchomić system Windows ponownie.

Na dobry początek wykorzystajmy nasze nowe środowisko do stworzenia prostego programu, ot HelloWorlda wyświechtanego.

Klikamy (już w uruchomionym programie) na File->New->C++ Project. Wpisujemy jego nazwę oraz wybieramy "ToolChain" MinGW GCC4, a jako "Project type" wybieramy Hello World C++ Project. Po wypełnienie podstawowych danych, które Eclipse umieści w komentarzach, projekt zostanie utworzony. Możemy przeglądać jego zawartość w drzewku po lewej, źródła domyślnie są w podkatalogu projektu o nazwie src. Projekt taki automatycznie się zbuduje (kompilacja i linkowanie), i możemy uruchomić go w małej dołączonej konsoli klikając zieloną strzałkę. Dodajmy do naszego projektu klasę, ot na przykład prymitywny 2 wymiarowy wektor. Niknięcie na File->New->Class włączy bardzo przyjemnego kreatora, który po podaniu nazwy i kilku własności wygeneruje potrzebne pliki wraz z domyślnymi zawartościami (konstrukcje warunkowego dołączania, konstruktor i destruktor etc).

Kod wygenerowany:

Listing:
  1.  //============================================================================
  2. // Name        : witaj.cpp
  3. // Author      : twoje imie
  4. // Version     :
  5. // Copyright   : Your copyright notice
  6. // Description : Hello World in C++, Ansi-style
  7. //============================================================================
  8.  
  9. #include
  10. using namespace std;
  11.  
  12. int main() {
  13.  cout << "Hello World!!!" << endl; // prints Hello World!!!
  14.  return 0;
  15. }
Listing:
  1. /*
  2.  * Vector.h
  3.  *
  4.  *  Created on: 2008-10-15
  5.  *      Author: twoje imie
  6.  */
  7.  
  8. #ifndef VECTOR_H_
  9. #define VECTOR_H_
  10.  
  11. class Vector {
  12. public:
  13.  Vector();
  14.  ~Vector();
  15. };
  16.  
  17. #endif /* VECTOR_H_ */
Listing:
  1. /*
  2.  * Vector.cpp
  3.  *
  4.  *  Created on: 2008-10-15
  5.  *      Author: twoje imie
  6.  */
  7.  
  8. #include "Vector.h"
  9.  
  10. Vector::Vector() {
  11.  // TODO Auto-generated constructor stub
  12.  
  13. }
  14.  
  15. Vector::~Vector() {
  16.  // TODO Auto-generated destructor stub
  17. }

Podsumowują: począwszy od pierwszego programu, Eclipse zmniejsza nakład pracy potrzebny aby napisać jakikolwiek program. Od kolorowania składni, poprzez wskazywanie linijek w których wystąpiły błędy i ostrzeżenia, jak i bogate możliwości konfiguracji, możliwość "podpowiadania" części kodu (możesz ją ręcznie wywoła za pomocą Ctrl+Spacja) a kończąc na obsłudze setek przydatnych wtyczek i wolności tego środowiska: przyda się ono każdemu piszącemu programy w C lub C++. Zachęcam do samodzielnego eksplorowania ustawień (Windows->Preferences) jak i sprawdzaniu rożnych funkcji dostępnych poprzez Menu programu czy menu kontekstowe.

  1. Warto w tym momencie dla wygody utworzyć na pulpicie skrót do C:\Program files\eclipse\eclipse.exe, ew najpierw zmienić nazwę katalogu z eclipse na eclipseCPP żeby moc spokojnie w tym samym Program Files przechowywać inne wersje Eclipse (np do Javy czy Ady2005[]
  2. Najlepiej wybrać wersję OFFLINE dla twojego systemu operacyjnego, nie będzie potrzebowała internetu żeby się zainstalować, i umożliwi działanie eclipse'owi. W czasie instalacji Java chętnie uraczy nas OpenOffice'em :P[]
  3. Jeśli domyślna Cie nie satysfakcjonuje to unikaj przynajmniej spacji[]
  4. Jeśli nie mamy takiego dostępnego "Tool Chain", warto spróbować dodać ścieżkę C:\MinGW\bin do zmiennej środowiskowej PATH. Teoretycznie sama obecność MinGW powinna wystarczyć, ale niestety różnie zachowuję się to w rzeczywistości na różnych komputerach. Zmienną tą modyfikujemy następująco:

    Kilkamy PPM na "Mój Komputer", zakładka "zaawansowane", u dołu po lewej stronie znajduje się przycisk "Zmienne środowiskowe". W części "Zmienne systemowe" odnajdujemy zmienną "Path", zaznaczamy i klikamy Edytuj. Zmienna to wiele ścieżek rozdzielonych średnikami, i nasz katalog C:\MinGW\bin dopisujemy na końcu oddzielony średnikiem, np moja zmienna Path kończyla się na %SystemRoot%\System32\Wbem, a po zmianie kończy się tak: %SystemRoot%\System32\Wbem;C:\MinGW\bin, po tej zmianie Windows znów musi być zresetowany []

Tagged as: , , , Komentarze
Komentarze (8) Trackbacks (2)
  1. Zwięźle, krótko i na temat. Tego właśnie potrzebowałem.
    Dziękuję i pozdrawiam!

  2. Bardzo się przydało, dzięki.

  3. Nareszcie znalazłem opis dający się strawić przez początkującego. Pozdrawiam.

  4. Gratuluję zwięzłości. Tak powinien wyglądać każdy tutorial. Pozdrawiam.

  5. wszystko pieknie, ale ja dostaje fatala: „fatal error: stddef.h: No such file or directory”, w czym jest rzecz? plik naglowkowy znajduje sie w: C:\MinGW\msys\1.0\lib\gcc\i686-pc-msys\3.4.4\include. moje srodowisko odpalam na viscie.

  6. @ciekawski
    W ustawieniach projektu „Project properties” sprawdź Include Paths, czy są poprawne. Sprawdź polecenia kompilacji czy są zgodne z Twoimi zamierzeniami.

  7. niby ok, ale nie do końca.
    korzystam w tej chwili z Eclipse Helios, teoretycznie wszystkie ścieżki ustawione są dobrze, ale wciśnięcie Run generalnie nic się nie dzieje, natomiast próba odpalenia binarki (exe) powoduje wyplucie fatala o brakującej dll-ce.
    biblioteki są w C:\MinGW\bin, ale dopiero przerzucenie ich np. do C:\Windows rozwiązuje problem (z daną dll-ką).

    ocb? ;)

  8. Jeżeli chodzi o problem z uruchomieniem za pomocą run – a co się ma dziać? w typowej konsolowej aplikacji powinna się uaktywnić konsola Eclipse, w niej też powinno znaleźć się wyjście z aplikacji.

    Jeżeli chodzi o drugi przypadek – ja mam w PATH C:\MinGW\bin co problem rozwiązuje (dllki są w trakcie procesu ich poszukiwania szukane w katalogach z zmiennych PATH, stąd przerzucenie do C:\Windows rozwiązuje problem).