我試圖使用下面的函數來檢查是否在Windows ndk中與Eclipse一起支持std :: async和cygwin。我使用的功能在下列在android ndk中使用c + +不完整類型的無效使用std :: async
機:64位贏得8 cygwin的
安卓R8E
的Eclipse:朱諾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 YPE 無效使用不完全類型 '的std :: __ async_sfinae_helper ::類型{又名結構的std ::未來}' sample.cpp的/ Cli13/JNI線63的C/C++問題
注:我已設置_GLIBCXX_HAS_GTHREADS和還GXX_EXPERIMENTAL_CXX0X以及ATOMIC_INT_LOCK_FREE ...默認情況下,ndk使用4.6工具鏈。我必須手動在Properties-> C/C++ - > Includes中包含gnu-libstd ++ for 4.7。是否有任何解決方法使std :: async工作?
謝謝。