私は、std :: asyncがEclipseのwithroid ndkでWindowsのcygwinと一緒にサポートされているかどうかをチェックしようとしました。私が使用した機能は以下のC++を使ってアンドロイドndkで不完全な型を無効に使用しました。11 std :: async
マシンです:r8e
のEclipse:cygwinの
のAndroidで8に勝つ64ビットジュノ4.2.1
ADT:22.0.1
struct Foo
{
Foo() : data(0) {}
void sum(int i) { data +=i;}
int data;
};
int main()
{
Foo foo;
auto f = std::async(&Foo::sum, &foo, 42);
f.get();
std::cout << foo.data << "\n";
}
次のエラーが表示されます。
説明リソースパスの場所T 'STD :: __ async_sfinae_helper ::タイプ{別名構造体のstd ::未来}' sample.cppの/ Cli13/JNIライン63 C不完全な型の 無効な使用をYPE/C++問題
注:私はまた_GLIBCXX_HAS_GTHREADSを設定していますGXX_EXPERIMENTAL_CXX0XとATOMIC_INT_LOCK_FREE ...デフォルトでは、ndkは4.6ツールチェーンを使用します。私は4.7のgnu-libstd ++をProperties-> C/C++ - > Includesに手動で含める必要がありました。 std :: asyncを動作させるための回避策はありますか?
ありがとうございます。