1

我正在使用 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 完美编译。我正在使用视觉工作室 2010。

谢谢

4

2 回答 2

3

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

于 2012-11-28T21:13:16.370 回答
1

即使 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)。

于 2012-07-16T18:00:45.377 回答