C++11 使用未声明的标识符\uuu glibcxx\u断言

C++11 使用未声明的标识符\uuu glibcxx\u断言,c++11,android-ndk,C++11,Android Ndk,我有一些C++11代码需要用Android NDK编译。我使用的是MacOS10.3 它使用_glibcxx_assert宏,而不导入定义头文件。以前也没有导入 #include <cstdlib> #include <cstdio> #include <cstring> #include <mutex> #include "Fifo.h" void Fifo::setReader(int readerIx, Port* p){

我有一些C++11代码需要用Android NDK编译。我使用的是MacOS10.3

它使用_glibcxx_assert宏,而不导入定义头文件。以前也没有导入

#include <cstdlib>
#include <cstdio>
#include <cstring>

#include <mutex>

#include "Fifo.h"

    void Fifo::setReader(int readerIx, Port* p){
        __glibcxx_assert(readerIx >= nReaders_)
        readers_[readerIx].port = p;
    }
#包括
#包括
#包括
#包括
#包括“Fifo.h”
void Fifo::setReader(int readerIx,端口*p){
__glibcxx\u断言(readerIx>=nReaders\u)
读卡器[readerIx].port=p;
}

这不应该在任何地方编译,对吗?还是我在这里遗漏了什么?

NDK不再支持GNU libstdc++,因此无法使用。只需使用
assert.h中的
assert

为什么要使用glibc internal而不是
中的
assert
?大概
\uu glibcxx\u assert
是通过其他一些
\include
包含的。