cocos2d-xのver2系をコンパイルしようとすると、以下のようなエラーが出る場合があります。
libwebsockets.a(libwebsockets.c.o):libwebsockets.c:function libwebsocket_create_context: error: undefined reference to 'getdtablesize'
こちらの記事によると、Android NDKのバージョンr10-cなら問題ないそうなので、それを使います。将来的には新しいNDKでもコンパイルできるようになるのではと期待しています。
まずこちらの記事を参考に、このリンクからr10-cをダウンロードします。
次に、こちらの記事を参考にして、ダウンロードしたファイルに実行権限を与えて実行すると、解凍されるので、そのディレクトリをコンパイルするときのNDK_ROOTに設定します。
build_native.shを実行する前に、Androidのプロジェクトのあるディレクトリまで移動し、コマンドラインで
find obj/local/armeabi/ -name "*.a" -o -name "*.o" | xargs rm
を実行します。これをしないと古いオブジェクトファイルが残ってエラーとなります。
その後、build_native.shを実行します
| Page Info | |
|---|---|
| Page Name : | cocos2d-x/ver2系のプロジェクトで「getdtablesize」に関するエラーが出た場合 |
| Page aliases : | None |
| Page owner : | njf |
| Can Read | |
| Groups : | All visitors |
| Users : | All visitors |
| Can Edit | |
| Groups : | All visitors |
| Users : | All visitors |
Counter: 3405,
today: 1,
yesterday: 0
Princeps date: 2016-09-20 (Tue) 16:40:36
Last-modified: 2016-09-20 (Tue) 17:08:46 (JST) (3343d) by njf

