AndroidStudio C ++编译器选项

eyal 09/05/2017. 2 answers, 83 views
c++ android-studio android-studio android-ndk android-ndk jni

当试图运行我的代码时,这是包含C ++文件,我得到以下错误 -

Error:(32, 2) error: This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options. 

如何解决? 这是我第一个涉及C ++文件的项目。

4 Comments
Asu 11/06/2016
您必须启用“-std = c ++ 11或-std = gnu ++ 11编译器选项。”
1 Christian Hackl 11/06/2016
在Android上学习C ++是一个非常糟糕的主意。 无论如何,您必须以某种方式让IDE将正确的标志传递给编译器,以便使用C ++ 11功能和/或使用C ++ 11不再实验的编译器。 我听说有一些“Customize C ++ Support”按钮或UI中的某个地方的下拉菜单,可以为你做到这一点。
eyal 11/06/2016
我知道我必须使用-std = c ++ 11或-std = gnu ++ 11,但我怎么配置?
Michael 11/06/2016
从Android Studio构建本机代码有多种方式,我没有看到任何提及您正在使用的代码。 如果你有一个Android.mk文件,你可以在那里添加你想要的任何标志到LOCAL_CPPFLAGS 。 否则,您可能需要在build.gradle文件中使用某种cppFlags属性。

2 Answers


eyal 11/06/2016.

在Customize C ++ Support页面中,我重建了我的项目并使用C ++ 11而不是ToolChain Default。 我认为这是解决这个问题的一个肮脏的方法。

1 comments
Alex Cohn 07/30/2017
也许'ToolChain Default'并不是展示其中一种选择的完美方式,但这是解决这个问题的最好方法。 C ++有不同的不完全兼容的'模式',例如C ++ 11和C ++ 13,你有责任选择合适的方言。

eyal 11/07/2016.

在android - > defaultConfig下的应用程序构建gradle中,您可以添加/更改以下内容

externalNativeBuild {
        cmake {
            cppFlags "-std=c++11"
        }
    } 

Related questions

Hot questions

Language

Popular Tags