ho cercato di utilizzare la seguente funzione per controllare se std :: asincrona è supportato in Android NDK con Eclipse insieme cygwin in finestre. La funzione che ho usato è il seguenteUtilizzo non valido di tipo incompleto in Android NDK utilizzando C++ 11 std :: asincrono
macchina: 64bit vincere 8 con Cygwin
Android: r8e
Eclipse: Juno 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";
}
ottengo il seguente errore:
Path Descrizione Resource Location T ipo uso non valido di tipo incompleto 'std :: __ async_sfinae_helper :: tipo {std :: alias struct futuro}' Sample.cpp/Cli13/jni linea 63 C/C++ Problema
Nota: Ho impostato le _GLIBCXX_HAS_GTHREADS e anche il GXX_EXPERIMENTAL_CXX0X insieme con ATOMIC_INT_LOCK_FREE ... Per impostazione predefinita il ndk utilizza 4.6 toolchain. Dovevo includere manualmente gnu-libstd ++ per 4.7 in Proprietà-> C/C++ -> Include. C'è qualche soluzione per rendere std :: async working ???
Grazie.