使用未声明的标识符 __glibcxx_assert

use of undeclared identifier __glibcxx_assert

我有一些 C++11 代码需要用 Android NDK 编译。我在 Mac OS 10.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;
    }

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

NDK 不再支持 GNU libstdc++,因此不可用。只需使用 assert.h.

中的 assert