【问题标题】:How can I enable c++0x in a vs-android build如何在 vs-android 构建中启用 c++0x
【发布时间】:2012-07-15 05:31:50
【问题描述】:

我正在使用 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。

谢谢

【问题讨论】:

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


    【解决方案1】:

    vs-android 现在支持 gcc 4.6,它对 c++11 有很好的支持,如果使用 -std=gnu++0x 而不是 -std=c++0x,则定义了 uint64_t 类型。

    【讨论】:

      【解决方案2】:

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

      我不知道uint64_t 问题。但是对于 NDK,您最好坚持使用 C++03(甚至 C)。

      【讨论】:

        猜你喜欢
        • 2011-02-22
        • 1970-01-01
        • 1970-01-01
        • 2012-01-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-22
        相关资源
        最近更新 更多