AndroidNDKでINT32_MAXがないとエラーが出た

2015年8月29日

ndk-buildしたときに、こんなエラーが出ました。

error: 'INT32_MAX’ was not declared in this scope

“INT32_MAX"は、stdint.h に宣言されているので、エラーの出ている cpp ファイルに以下のコードを追加しました。

#define __STDC_LIMIT_MACROS
#include <stdint.h>

ビルドしてみると、まだ見つからないとか言われます。
そんなわけないだろ。

いろいろ試した結果、Android.mk の LOCAL_CFLAGS に -D__STDC_LIMIT_MACROS を追加したら参照できるようになりました。
ちなみに、stdint.h の include は追加しなくても、LOCAL_CFLAGS への宣言だけ追加すればビルドは通ります。

一応、プロジェクト内で stdint.h を include しているファイルがないか調べてみましたが、見つかりませんでした。

NDK 内の処理で include している処理があるのかな。
確認するのは面倒なので、とりあえず解決法として残しておきます。

おしまい。

スポンサーリンク

Android,NDKandroid,NDK

Posted by peliphilo