ios向けビルドは通るがandroid向けビルドは失敗

cocos2dxで開発している際、タイトルのようなことがあったので原因を調査。 ちなみにiosはxcodebuild、androidはgradleでビルドしていた。

iosandroidのビルド結果を見比べると、iosのビルド時には以下のようなビルドオプションがついていることがわかった

-I/Users/<user>/Library/Developer/Xcode/DerivedData/<app id>/Build/Intermediates.noindex/app.build/Debug-iphonesimulator/app\ iOS.build/app\ iOS.hmap

調べてみると、xcodeはビルド時にクラス名とファイルパスを対応づけたバイナリファイル(hmapファイル)を生成し、それを元にしてincludeなどを行うことで検索を効率化しているらしい。 xcodeBuild Settings > Search Path > Use Header Mapsで設定ON/OFFできるので、OFFにしてみたところiosのビルドも失敗するようになった。