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

Eclipse, std::thread could be not resolved

Object Storage Arubacloud
0 głosów
370 wizyt
pytanie zadane 5 maja 2019 w Systemy operacyjne, programy przez Teslum_369 Gaduła (4,190 p.)

Witam,

Od dziś przeżuciłem się na Eclipse IDE. Bardzo mnie "ujęło", wszystko działa pięknie, dużo rzeczy było spełnionych, których oczekiwałem od mojego poprzedniego IDE. Niestety było chyba za pięknie. Zauważyłem, iż jest jakiś problem z wątkami (thread) - mianowicie, podczas kompilacji wywala mi kilka błędów i zawsze to przy wątkach. Generalnie kod źródłowy jest dobrze napisany tylko problem leży gdzieś indziej. Uznałem, że może być to wina standardu. Obszukałem internet jak mógłbym dodać sobie standard C++11 i na niezliczonej ilosci stron podporządkowywałem się radom, które były tam zamieszczone. Niestety wciąż nic nie pomogło. Jeśli ktoś korzystał z Eclipse Cpp lub wie jak rozwiązać owy problem to bardzo proszę o skrócenie moich całodniowych męczarni (xD). Korzystam z MinGW (nie wiem czy to w czymś pomoże, ale tak zamieszczę dodatkowo).

Kod, który mi niestety się nie kompiluje:

#include <iostream>
#include <thread>


void print1()
{
   std::cout<<"Print1"<<std::endl;
}
void print2()
{
   std::cout<<"Print2"<<std::endl;
}
int main()
{
  std::thread t1(print1);
  std::thread t2(print2);
  t1.join();
  t2.join();
  return 0;
}


Z góry naprawdę dziękuję!

komentarz 5 maja 2019 przez adrian17 Ekspert (344,860 p.)

Od dziś przeżuciłem się na Eclipse IDE

Czemu? To dość rzadki wybór w 2019.

Jaka wersja MinGW GCC?

komentarz 5 maja 2019 przez Teslum_369 Gaduła (4,190 p.)
Wersja: MinGW-w64,

Chciałbym dodać, iż na moim poprzednim IDE (bez żadnych zmian w MinGW) kod, który wstawiłem do posta działa beż żadnych problemów.
komentarz 5 maja 2019 przez adrian17 Ekspert (344,860 p.)
To nie wersja, to nazwa. To pewnie faktycznie kwestia ustawienia C++11 w IDE. Nie wiem czy ktokolwiek Ci tu z tym pomoże, bo naprawdę mało kto używa Eclipse, jak jest VS (zakładam że jesteś na Windowsie).
komentarz 5 maja 2019 przez adrian17 Ekspert (344,860 p.)

Natomiast pierwszy wynik gugla: https://stackoverflow.com/a/9135135/2468469

Próbowałeś to?

komentarz 5 maja 2019 przez Teslum_369 Gaduła (4,190 p.)

Hm, a co być polecał zamiast tego Eclipse? Myślałem już kiedyś o VS, ale proces skompilowania samego hello world'a mnie po prostu zabijał  xD.

@adrian17 Build Failed. 4 errors, 0 warnings. Próbowałem :(

komentarz 5 maja 2019 przez adrian17 Ekspert (344,860 p.)

Myślałem już kiedyś o VS, ale proces skompilowania samego hello world'a mnie po prostu zabijał  xD.

Gdzie tam, wszystko działa out of the box, włącznie z c++11. Patrz:

https://puu.sh/DojP3/06d8c2f0ac.mp4

komentarz 6 maja 2019 przez Patrycjerz Mędrzec (192,320 p.)
A spróbuj skompilować ten kod za pomocą samego kompilatora, tzn. przez terminal. Sprawdzisz wtedy, czy to wina IDE.

1 odpowiedź

+1 głos
odpowiedź 6 maja 2019 przez mokrowski Mędrzec (155,460 p.)

 

https://insights.stackoverflow.com/survey/2018#technology-_-most-popular-development-environments

Instrukcja instalacji MinGW-w64 w systemie MS Windows

1. Zainstaluj w standardowy sposób Java JDK w wersji 64-bit. Po przejściu przez proces instalacji, wykonaj restart systemu.

2. Zainstaluj pakiet msys2: http://repo.msys2.org/distrib/x86_64/msys2-x86_64-20180531.exe

3. Po instalacji uruchomi się on w konsoli. Wykonaj polecenie uaktualnienia źrodowiska:

   pacman -Suy 

   Po zakończeniu uaktualnienia, w okienku konsoli pojawi się prośba o jego zamknięcie. Zamknij okienko.
   Uruchom MSYS2 MinGW 64-bit wybierając je z menu start (wybierz precyzyjnie: MSYS2 MinGW 64-bit a nie żaden inny) i zainstaluj narzędzia programistyczne:
...
   pacman -S base-devel.
   pacman -S mingw-w64-x86_64-toolchain

   Pytanie o (domyślnie=wszystkie) potwierdź enterem.

   Możesz sprawdzić obecność kompilatora przez:

   gcc -v

   Zamknij okienko.

4. Do ścieżki PATH systemu dodaj następujące wpisy. Do tych ustawień dostaniesz się poprzez:
   Eksplorator->prawy klawisz na "Ten komputer" -> Właściwości -> Zaawansowane ustawienia systemu
   -> Zmienne środowiskowe. Wybierz Path i Edytuj. Dodaj wpisy:

   C:\msys64\mingw64\bin
   C:\msys64\usr\bin

   Z pomocą klawisza "Przenieś w górę", umieść je na samej górze wpisów.

5. Zainstaluj eclipse dla programowania w C/C++ w wersji 64-bit poprzez jego rozpakowanie w wybranym
   folderze. Uruchom eclipse. http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/2018-09/R/eclipse-cpp-2018-09-win32-x86_64.zip

6. W konfiguracji eclipse: Window -> Preferences -> C/C++ -> Build -> Environment
   Doaj zmienne:
   MINGW_HOME=C:\msys64\mingw64
   MSYS_HOME=C:\msys64
   PATH=${MSYS_HOME}\usr\bin;${MINGW_HOME}\bin

komentarz 6 maja 2019 przez adrian17 Ekspert (344,860 p.)
(co ma mówić pierwszy link?)

Do czego JDK jest potrzebne?

A zamiast ręcznej instalacji MSYS etc, zwyczajowo rekomenduję https://nuwen.net/mingw.html
komentarz 6 maja 2019 przez mokrowski Mędrzec (155,460 p.)
Pierwszy link mówi o używanych IDE i ich popularności. Poza VS jak widać jest więcej IDE i zaskakująco wysoko vim.

Ręczna instalacja dodaje szereg niezbędnych w praktyce narzędzi.. Dodatkowo z całą pewnością działa także w przyszłym dodaniu cppcheck, git itp.

MinGW-W64 to nieco lepsza dystrybucja kompilatora i niż "zwykłe mingw". Szczególnie z msys2

JDK bywa niezbędne dla wtyczek związanych z c/c++ np. dla embedded (dtm32, avr) a dziś to jest bardzo częsty powód używania eclipse. Poza tym jest trochę analizatorów szablonów i korektorów kodu które bez JDK sprawiają problemy.

 Ta konfiguracja z całą pewnością działa dla MS Windows i z tego powodu ją polecam.

Podobne pytania

0 głosów
1 odpowiedź 679 wizyt
pytanie zadane 13 września 2015 w C i C++ przez Mavimix Dyskutant (8,390 p.)
0 głosów
0 odpowiedzi 253 wizyt
pytanie zadane 2 września 2016 w C# przez lakewik Nowicjusz (120 p.)
0 głosów
2 odpowiedzi 1,157 wizyt

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 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!

...