Моя главная операционная система:
Fedora 22 x64
Версия gcc-g ++:
5.1.1
затмение cdt версия:
Eclipse CDT Mars Release V4.5.0
вот мой простой список демонстрационных кодов:
#include <thread>
void func(){}
int main(int argc, char** argv)
{
std::thread ts(func);
ts.join();
return 0;
}
и это мой конфиг cdt (неправильный конфиг):
Project Properties->C/C++Build->Tool Chain Editor->(use Linux GCC as current)
Project Properties->C/C++Build->Settings->GCC C++ Compiler->Dialet->(ISO C++11)
Project Properties->C/C++Build->Settings->GCC C Compiler->Dialet->(ISO C11)
Project Properties->C/C++Build->Settings->GCC C++ Linker->(add pthread)
Project Properties->C/C++General->Paths and Symbols->Symbols
->add '__GXX_EXPERIMENTAL_CXX0X__' to GNU C++
Project Properties->C/C++General->PreprocessorIncludePaths,Macros etc.->Providers
->(Select only 'CDT GCC Built-in Compiler Settings' and add'-std=c++11' to command)
результат:
the project can build and run successfully
but eclipse CDT always show error: Symbol 'thread' could not be resolved
std::thread ts(func);
может рассматриваться как определение функции. использование std::thread ts{func};
вместо. Также темы нужны -pthread
настройка для компилятора / компоновщика — как: g++ -std=c++11 -pthread prog.cpp
,