私はAndroidに非同期シーンローダーを作成しています。私はstd :: futureとstd :: asyncを使ってiOSにこのローダーを書いています。しかし、Androidでは同じコードが動作していません。次のように 私Scene.hは次のとおりです。私はSTD ::将来をクリックすると未定義テンプレートの暗黙的なインスタンス化 'std :: future <void>' in Android
error: implicit instantiation of undefined template 'std::future<void>' std::future<void> mAsyncSceneLoadingHandler ; /usr/local/opt/android-sdk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/include/future:114:11: note: template is declared here class future;
しかし、そのは、適切なヘッダファイルに行く:
#include <future>
class Scene
{
private:
std::future<void> mAsyncSceneLoadingHandler ;
}
それはエラーが表示されます。
私はAndroidスタジオを使用しています。私のgradleは次のようになります:
compileSdkVersion 26
buildToolsVersion "26.0.1"
defaultConfig
{
applicationId "com.ea.astosh.androidgame"
minSdkVersion 22
targetSdkVersion 26
externalNativeBuild
{
cmake
{
cppFlags "-frtti -fexceptions -std=c++11 -latomic"
}
ndk
{
stl = "c++_static"
}
}
}
利用可能なすべての回答をチェックしましたが、解決策を見つけることができませんでした。
何かお手伝いいただきありがとうございます。
たぶん、あなたのAndroid SDKには、 'のstd :: future'をサポートしていませんか? sdkヘッダーファイルを見て、実装が見つかりましたか? – Yakk
私はsdkヘッダーファイルを見て、それはstd :: futureの実装を含んでいます。 –