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: 2410,
today: 1,
yesterday: 0
Princeps date: 2016-09-20 (Tue) 16:40:36
Last-modified: 2016-09-20 (Tue) 17:08:46 (JST) (2154d) by njf