cocos2dxで開発している際、タイトルのようなことがあったので原因を調査。 ちなみにiosはxcodebuild、androidはgradleでビルドしていた。
iosとandroidのビルド結果を見比べると、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などを行うことで検索を効率化しているらしい。
xcodeのBuild Settings > Search Path > Use Header Maps
で設定ON/OFFできるので、OFFにしてみたところiosのビルドも失敗するようになった。