cocos2d-xのver2系をコンパイルしようとすると、以下のようなエラーが出る場合があります。
libwebsockets.a(libwebsockets.c.o):libwebsockets.c:function libwebsocket_create_context: error: undefined reference to 'getdtablesize'
こちらの記事[1]によると、Android NDKのバージョンr10-cなら問題ないそうなので、それを使います。将来的には新しいNDKでもコンパイルできるようになるのではと期待しています。
まずこちらの記事[2]を参考に、このリンク[3]からr10-cをダウンロードします。
次に、こちらの記事[4]を参考にして、ダウンロードしたファイルに実行権限を与えて実行すると、解凍されるので、そのディレクトリをコンパイルするときのNDK_ROOTに設定します。
build_native.shを実行する前に、Androidのプロジェクトのあるディレクトリまで移動し、コマンドラインで
find obj/local/armeabi/ -name "*.a" -o -name "*.o" | xargs rm
を実行します。これをしないと古いオブジェクトファイルが残ってエラーとなります。
その後、build_native.shを実行します
(This host) = https://njf.jp