2017-01-12 23 views
1

<string>が含まれています。 std::to_sting(intVar)の何が間違っていますか?エラー:名前空間 'std'に 'to_string'という名前のメンバがありません。あなたは 'toString'を意味しましたか? Gradle + Cmake

cppreference。 CLangがSTandarDを満たしていないことを意味しますか?ので

Another questionは助けたが、答えは(私にとっては)良いものではありません:自分のSTDを書く

  1. :: to_stringに()悪い考えです。標準が標準です。私は自分の実装を書く場合。 stdの機能をリークさせない別のコンパイラ/ツールチェーンからのエラーを防ぐために、defineと一緒にラップする必要があります。そして、このインプラントはまだフル機能のSTDを漏らしています。
  2. Application.mk - 最近のスタジオはGradle + CMakeを提供しているので、あまりにも悪い考えです。 Makefileは手動で使用するにはあまりにも醜いですが、難しいです。
  3. 私のsolutionが優れています。
+0

可能性のある重複した[AndroidのNDKのstd :: _stringサポートを\する](のhttp://のstackoverflow。 com/questions/22774009/android-ndk-stdto-string-support) –

答えて

2

Does it mean CLang does not meet STandarD?

最小限のstdライブラリは、デフォルトでのAndroid NDKに設定されているためいいえ、それはあります。

android { 
    ... 
    defaultConfig { 
    ... 
    // This block is different from the one you use to link Gradle 
    // to your CMake build script. 
    externalNativeBuild { 
     cmake { 
     ... 
     // Use the following syntax when passing arguments to variables: 
     // arguments "-DVAR_NAME=VALUE" 
     // ------------------- ANSWER ------------------- 
     arguments "-DANDROID_STL=c++_shared" 
     } 
    } 
    } 
    buildTypes {...} 

    // Use this block to link Gradle to your CMake build script. 
    externalNativeBuild { 
    cmake {...} 
    } 
} 

はこれらを読む:

私はGradleのビルドシステムを使用するの
https://developer.android.com/ndk/guides/cmake.html#variables
https://developer.android.com/ndk/guides/cpp-support.htm

関連する問題