启用Android的C ++ 11的支持Android

2023-09-12 07:01:17 作者:疯着疯着就二了*

如何整合C ++ 11到Android的?

How do I integrate C++11 into Android?

推荐答案

首先,你需要确保你的工具链是跨海湾合作委员会。虽然这是对我的Linux默认的,这不是我的MacOSX的狮子。

First of all, you will need to ensure that your toolchain is "Cross GCC". Whilst it was the default on my Linux, it was not on my MacOSX Lion.

为了做到这一点,转到项目属性> C / C ++编译>工具链编辑器。 的当前工具链的应设置为跨海湾合作委员会的。您可能需要取消勾选显示兼容的工具链仅的。

In order to do this, go to Project Properties > C/C++ Build > Tool Chain Editor. "Current toolchain" should be set to "Cross GCC". You might need to uncheck the box "Display compatible toolchains only".

然后,添加一个选项LOCAL_CFLAGS的 Android.mk 的:

Then, add an option to LOCAL_CFLAGS in Android.mk:

LOCAL_CFLAGS := -std=gnu++11

我们现在需要通知的Eclipse在哪里可以找到对应的新符号(如的std :: unordered_map)。转到右键点击JNI>属性> C / C ++通用 - >路径和符号 - >符号 - > GNU C ++ ,并添加以下符号(通过点击添加...)

We now need to inform Eclipse about where to find the corresponding new symbols (e.g. "std::unordered_map"). Go to Right Click on "jni" > Properties > C/C++ General -> Paths and Symbols -> Symbols -> GNU C++, and add the following symbol (by clicking "Add..."):

Name: __GXX_EXPERIMENTAL_CXX0X__
Value:

(即让值为空)的