• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Eclipse - obsługa C++ na Linuxie

Object Storage Arubacloud
0 głosów
677 wizyt
pytanie zadane 7 września 2018 w Systemy operacyjne, programy przez Xarti Obywatel (1,380 p.)
edycja 7 września 2018 przez Xarti

Cześć, mam pewien problem z środowiskiem Eclipse, ponieważ zainstalowałem je na Linux Ubuntu, domyślnie ma ono działać z C, C++ i Javą i mam problem z tymi pierwszymi, może ktoś coś by doradził.

Mianowicie instalując program wybrałem wersję C/C++, wszystko się zainstalowało, teraz napisałem najprostszy program - hello world i wyskakuje mi komunikat typu "Symbol "cout" can not be resolved". Plik .cpp tworzy się w katalogu domyślnym i mogę go zobaczyć oraz uruchomić z zewnątrz, ale sam eclipse nie chce współpracować.

W poradnikach widziałem, że trzeba zainstalować narzędzie zwane MinGW, jednak raz że było to na windowsie, na linuxie jakoś mi na razie z tym nie idzie, a dwa, skoro linux ma wbudowane narzędzie do kompilowania, debugowania i uruchamiania programów z C++ to nie powinno być z tym problemu.

Czy ktoś spotkał się z takimi problemami przy instalacji Eclipse (na razie żeby współpracowało z C/C++) na Linuiuxie i mógłby coś doradzić?

 

*******

 

Dodam (zaczynam coraz bardziej ogarniać Eclipse laugh ) że przy próbie kompilacji dostaje taki komunikat;

12:55:51 **** Incremental Build of configuration Debug for project firstCPP ****
make all 
Building target: firstCPP
Invoking: GCC C++ Linker
g++  -o "firstCPP"  ./main.o   
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/Scrt1.o: In function `_start':
(.text+0x20): undefined reference to `main'
collect2: error: ld returned 1 exit status
makefile:44: recipe for target 'firstCPP' failed
make: *** [firstCPP] Error 1

 

3 odpowiedzi

+1 głos
odpowiedź 9 września 2018 przez manjaro Nałogowiec (37,390 p.)
wybrane 13 września 2018 przez Xarti
 
Najlepsza
Zainstaluj coś co jest dedykowane do C++. Eclipse jest bardzo fajny ale pod Jave. Pod C++ masz QtCreatora, bije na głowę CB.
1
komentarz 13 września 2018 przez Xarti Obywatel (1,380 p.)
nie takiej odpowiedzi się spodziewałem, ale zainstalowałem i używam Qt i muszę przyznać że jest świetny, dzięki
+1 głos
odpowiedź 7 września 2018 przez j23 Mędrzec (194,920 p.)
edycja 7 września 2018 przez j23

W poradnikach widziałem, że trzeba zainstalować narzędzie zwane MinGW

W prawdzie jest MinGW dla Linuksa, ale służy on do kompilacji skrośnej. MinGW to nic innego jak port GCC na Windowsa. Po błędach widzę, że GCC masz zainstalowane, ale z jakiegoś powodu konsolidator nie może znaleźć implementacji funkcji main. Czy jest ona w twoim kodzie?

komentarz 7 września 2018 przez Xarti Obywatel (1,380 p.)

Tak, jest, tak jak pisałem próbowałem uruchomić zwykłego Hello Wold'a takiego jak tu: Hello World

1
komentarz 7 września 2018 przez j23 Mędrzec (194,920 p.)

Ale dodałeś plik z main do projektu, czy tylko skopiowałeś go do katalogu?

 

Dla pewności skompiluj plik z terminala:

g++ -std=c++14 -Wall plik-z-main.cpp -o prog

Jak się skompiluje, to będziesz miał pewność, że to nie jest problem z GCC.

komentarz 8 września 2018 przez Xarti Obywatel (1,380 p.)
Z plikiem jest wszystko ok, istnieje, kompiluje się, po wykonaniu tego polecenia wszystko działa jak należy - powstaje plik prog który potem można uruchomić
1
komentarz 8 września 2018 przez j23 Mędrzec (194,920 p.)
Czyli coś nie tak z projektem w IDE. Tworzyłeś go z jakiegoś kreatora?
0 głosów
odpowiedź 9 września 2018 przez Xarti Obywatel (1,380 p.)

Wiem już jak zrobić, żeby działało, jednak jest to dosyć skomplikowane i tak to nie powinno raczej wyglądać (stwierdzając na podstawie filmów z YT oraz doświadczeń z Code::Blocksem) więc żeby wszystko działało robię tak;

- tworzę projekt, dodaję do niego nowy plik (New -> Source file), wklejam tam jakiś działający kod,

- przyciskam "build" (młotek po lewej), pyta mis się czy chcę zapisać zmiany, daję tak i nic więcej się nie dzieje (ile razy bym nie naciskał, po prostu brak reakcji)

- przyciskam "build 'Debud' for project '...(nazwa)', wyskakuje takie coś:

14:38:25 **** Build of configuration Debug for project pro ****
make all 
Building file: ../pro.cpp
Invoking: GCC C++ Compiler
g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"pro.d" -MT"pro.o" -o "pro.o" "../pro.cpp"
Finished building: ../pro.cpp
 
Building target: pro
Invoking: GCC C++ Linker
g++  -o "pro"  ./pro.o   
Finished building target: pro
 

14:38:26 Build Finished. 0 errors, 0 warnings. (took 810ms)

- jak nacisnę "run" (strzałka w zielonym kółku po lewej) to wyskakuje powiadomienie:

Launching "project1" Debug has encountered a problem.

Program file does not exist.

i rzeczywiście, project1 to nazwa poprzedniego projektu, który usunąłem,

- muszę teraz nacisnąć "run nazwa_projektu debug" (strzałka w zielonym kółku na środku) i otwiera się okno "Run Configurations", tam wybieram z listy C/C++ Application -> nazwa_projektu Debug , następnie jak jestem w tym oknie mogę nacisnąć "Run" u dołu,

- program się uruchamia, od tego momentu przy dokonaniu zmian lub ponownej próbie uruchomienia oba przyciski po lewej - "build" oraz "run" po lewej działają jak należy,

 

Strasznie to skomplikowane i skłaniam się mocno do poszukania jakiegoś nowego środowiska, ale jakby ktoś tutaj wpadł i wiedział jak zrobić żeby wystarczyło nacisnąć build potem run, tak jak to powinno być to byłbym wdzięczny za informację.

komentarz 9 września 2018 przez Hiskiel Pasjonat (22,830 p.)
Ja korzystam z Atoma i kompiluję z konsoli (cmder, polecam) za pomocą MinGW64 na Windowsie. Na Linuxie byłby to Atom i GNU GCC. Dodatkowo jakbyś ogarnął makefile to wszystko fajnie.

Jest to fajne rozwiązanie, bo zobaczysz jak naprawdę wygląda dodawanie nowych bilbiotek itd. zaczniesz rozróżniać linker od kompilatora i preprocesora. I w ogóle daje to większą kontrolę.

Podobne pytania

0 głosów
0 odpowiedzi 268 wizyt
0 głosów
1 odpowiedź 254 wizyt
0 głosów
1 odpowiedź 188 wizyt
pytanie zadane 15 marca 2018 w Java przez Alex.Ironside Stary wyjadacz (14,900 p.)

92,568 zapytań

141,420 odpowiedzi

319,620 komentarzy

61,954 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...