eclipse kepler/mingw 4.8.1 および win32 で std::thread を使用する単純な C++ プログラムをコンパイルしようとしています。Windows 開発に長年携わった後、ある時点で開発を Linux に移行したいと考えています。
#include "test.h"
#include <thread>
#include <algorithm>
int main()
{
Test::CreateInstance();
std::thread(
[&]()
{
Test::I()->Output2();
}
);
Test::DestroyInstance();
return 0;
}
テストの目的を無視します (これは、std::thread が機能するようになったら、拡張する出力を生成するだけのシングルトンです!)
Eclipse で設定した g++ コンパイラの設定は次のとおりです。
-c -fmessage-length=0 -std=c++0x -Wc++0x-compat
そして、私が定義したプリプロセッサ シンボルは次のとおりです。
__GXX_EXPERIMENTAL_CXX0X__
ビルドは、std::thread が 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(
^
このコンパイルを正しく行うために欠けている可能性があるものを誰かが提案できますか?