Próbowałem użyć poniższej funkcji, aby sprawdzić, czy std :: async jest obsługiwany w Android ndk z Eclipse wraz z cygwin w oknach. Funkcja użyłem jest następującyNieprawidłowe użycie niekompletnego typu w Android ndk przy użyciu C++ 11 std :: async
Maszyna: 64bit wygrać 8 z Cygwin
Android: R 8e
Juno 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";
}
Pojawia się następujący błąd:
Opis Ścieżka do zasobu Położenie T Ype Nieprawidłowe użycie niekompletnej typu 'std :: __ async_sfinae_helper :: typu struct {std :: aka przyszłość}' Sample.cpp/Cli13/JNI linia 63 C/C++ Problem
Uwaga: Mam ustawić _GLIBCXX_HAS_GTHREADS a także the GXX_EXPERIMENTAL_CXX0X razem z ATOMIC_INT_LOCK_FREE ... Domyślnie ndk używa 4.6 toolchain. Musiałem włączyć gnu-libstd ++ do 4.7 ręcznie w Properties-> C/C++ -> Includes. Czy są jakieś prace, aby std :: async działał ???
Dziękuję.