如何在vs-android构建中启用c ++ 0x

时间:2012-07-16 11:16:18

标签: android c++ c++11 android-ndk vs-android

我正在使用vs-android(http://code.google.com/p/vs-android)使用ndk为Android平台编译c ++项目。

除了编译使用c ++ 0x / c ++ 11标准中的功能的代码(如std :: function,nullptr)时,一切正常,我假设,或者至少希望,我可以通过添加编译器选项-std = c ++ 0x来解决这个问题。

我尝试在“命令行”下的“附加选项”中添加它,但有些错误似乎消失了但并非所有错误都消失了。包括原因问题,types.h抱怨uint64_t不存在以及许多其他类似的问题。

有谁知道如何解决这个问题?代码没有任何问题,因为它与针对Windows平台的msvc10完美编译。我正在使用visual studio 2010。

由于

2 个答案:

答案 0 :(得分:3)

vs-android现在支持gcc 4.6,它具有相当不错的c ++ 11支持,如果使用-std=gnu++0x代替-std=c++0x,则定义uint64_t类型。

答案 1 :(得分:1)

即使vs-android使用Visual Studio作为IDE,它仍然使用gcc 4.4.3作为编译器(2.5年前发布)。例如,根据http://gcc.gnu.org/projects/cxx0x.html,仅从gcc 4.6开始支持nullptr,因此您无法使用它。

我不知道uint64_t问题。但你最好坚持使用C ++ 03(甚至C)来代替NDK。