1つのC++プロジェクトをAndroidプラグインで使用するためにビルドします。私は、iOS用にコンパイルするために成功したが、私はアンドロイドのために、次のエラーを取得:'AndroidのNDKを使ってスタティックライブラリを構築する際に' auto 'を無効にしましたr10e
cmake_minimum_required(VERSION 2.8)
project(PluginAndroid)
# Android configuration
set(CMAKE_SYSTEM_NAME Android)
set(CMAKE_SYSTEM_VERSION 19) # API level
set(CMAKE_ANDROID_ARCH_ABI armeabi-v7a)
set(CMAKE ANDROID_STL_TYPE stlport_static)
set(CMAKE_ANDROID_TOOLCHAIN_NAME arm-linux-androideabi-4.8)
set(CMAKE_CXX_STANDARD 11)
include_directories ("${PROJECT_SOURCE_DIR}/3rdParty/common/")
....
file(GLOB source_files
"*.h"
"*.cpp"
)
add_library(PluginAndroid STATIC ${source_files})
この問題を解決するために、任意の手がかり:私はandroid-ndk-r10e
と、このCMakeLists.txt
コードを使用してい
~/android-ndk-r10e/sources/cxx-stl/gnu-libstdc++/4.9/include/bits/stl_algo.h:3789:14: error: invalid use of 'auto'
~/android-ndk-r10e/sources/cxx-stl/gnu-libstdc++/4.9/include/future:114:11: error: declaration of 'class std::future<void>'
class future;
?
'CMAKE_CXX_STANDARD'変数はCMake 3.1で導入されました。古いバージョンを使うとうまく動作しないので、 '-std = C++ 11'フラグを何か別の方法で追加する必要があります。 –
また、使用しているGCCのバージョン(エラー出力のように見える4.9)は、完全なC++ 11をサポートしていないことにも注意してください。 –
NDKでC++ 11を使うためにclangを使う方法はありますか? –