I'm trying to compile a simple c++ program that uses std::thread on eclipse kepler / mingw 4.8.1 and win32. I hope to move development to linux at some point after many years on windows development.
#include "test.h"
#include <thread>
#include <algorithm>
int main()
{
Test::CreateInstance();
std::thread(
[&]()
{
Test::I()->Output2();
}
);
Test::DestroyInstance();
return 0;
}
Ignoring the purpose of test (it's a singleton that just produces some output that I will expand upon, once I get the std::thread working!)
The g++ compiler settings I've set in Eclipse are:
-c -fmessage-length=0 -std=c++0x -Wc++0x-compat
And the preprocessor symbol I have defined is:
__GXX_EXPERIMENTAL_CXX0X__
Building complains that std::thread is not a member of std:
10:30:13 **** Incremental Build of configuration Debug for project test ****
Info: Internal Builder is used for build
g++ -D__GXX_EXPERIMENTAL_CXX0X__ -O0 -g3 -Wall -c -fmessage-length=0 -std=c++0x -Wc++0x-compat -o main.o "..\main.cpp"
..main.cpp: In function 'int main()':
..main.cpp:11:2: error: 'thread' is not a member of 'std'
std::thread(
^
Can someone suggest what I might be missing to get this compiling correctly?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…