代码之家  ›  专栏  ›  技术社区  ›  P i

Android Studio:不兼容的自动包含C++ STDLIB报头

  •  0
  • P i  · 技术社区  · 6 年前

    我和一个同事都在运行当前Android Studio(3.1.2)的MacBooks上。

    项目(相同的源代码和生成文件)在我的计算机上生成,在他的计算机上失败。

    错误是一个特定的C++文件正在使用。 std::vector assert ,编译器找不到。

    解决办法就是 #include <vector> #include <assert.h>

    我想知道为什么它在我的系统上运行,而不是在他的系统上。

    我正在查看Android工作室的设置,一些“自动包含C++ STDLIB”编译器设置,但我什么也看不见。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Dan Albert    6 年前

    您使用的是相同版本的NDK吗?默认STL最近已更改(从gnustl更改为libc++)。就像@richard critten指出的那样,最有可能的情况是您所包含的其中一个头文件包含vector/assert.h,但是您的同事使用了不同的STL,而事实并非如此。

    我正在查看Android工作室的设置,一些“自动包含C++ STDLIB”编译器设置,但我看不到任何东西。

    我会的 难以置信地 如果这个特性存在的话会很惊讶。