2013年9月4日水曜日

Archive作成時の header file not found エラー



アプリとstatic libraryのProjectがあるworkspaceで、Archive作成時にヘッダファイルが見つからないエラーが発生しました。
エラーメッセージは次のようなものです。
Lexical or Processor Issue
/Users/.../AppWorkspace/LibA/LibA/MyClassA.h:10:9:
  'LibB/MyClassB.h' file not found

いろいろバリエーションがあるようですが、基本的にはヘッダのサーチパスの設定に由来するようです。
私の場合はworkspaceにアプリのプロジェクトとstatic libraryがふたつあり、そのひとつが他方に依存しているという環境で発生しました。
App - libA、libBに依存
libA - libBに依存
libB

この場合、libAのビルドに失敗しているので、libAのBuild Settingsに設定を追加します。
Build Settings > Serach Paths > User Search Paths > Release
"$(PROJECT_DIR)/.."  recursive

recurciveの設定は入力フィールドをダブルクリックすると表示されるダイアログの右端にある、non-recursive/recursive切り替えスイッチで行います。

次のサイトを参考にしましたが、私の場合はUser Search Pathsの追加だけで解決しています。これだけではダメな場合は参照してみてください。

http://stackoverflow.com/questions/5413338/xcode-4-and-nested-projects-header-files-not-found

http://stackoverflow.com/questions/5584317/compile-build-or-archive-problems-with-xcode-4-and-dependencies

0 件のコメント: