2012-10-25 4 views
11

ホームディレクトリにインクルードディレクトリを追加しました。ビルドディレクトリから "ls -l〜/ include"を実行できます。 "Header Seach Path"と "User Header Search Path"の両方にそのディレクトリを追加しました。両方の場所で、私は非再帰と再帰の両方で試しました。 しかし、xcode 4.5.1では、どのような場合でも、最初に記述されたヘッダファイルを見つけることはできません。xcode 4.5.1。ヘッダー検索パスが機能していない、<directory/file.h>ファイルが見つかりません

次のようにソースコードcalls.mに記載されている:私は取得

#include <directory/file.h> 

「字句やプリプロセッサの問題 『ディレクトリ/ファイル.h』ファイルが見つかりませんが。」

しかし、cliからxcodebuildを実行しても、ソースをビルドするためにそれほど問題はありません。

私は、プロジェクトにインデックスを追加するノーコピーしてファイルを追加しない「に追加

  • で含んは/ usr/OM私のドライブを置くインターネット

    • で見つかった提案の多くを試してみましたターゲット "と記されています。
    • xcodeを再起動します。
    • すべての特定のパスを指定します。

    しかし、まだ行っていません。

    問題は何ですか。バグはxcodeにありますか?

  • 答えて

    18

    私はちょうど同様の問題を抱えていました。これは、ヘッダー検索パス用に定義したパスにスペースがあったためです。例えば、私は、検索パスを次のように定義された:

    次に出て拡張されていた

    $(SRCROOT)/Frameworks/Headers

    /Users/skoota/Documents/Xcode Projects/My App/Frameworks/Headers

    あなたが見ることができるように、内のスペースがありますあなたが$(SRCROOT)変数を使用しているときにはすぐにはわかりませんが、コンパイラは特にこのスペースを認識しません。私はこれまでの検索パスを変更することで、この問題を解決:

    "$(SRCROOT)"/Frameworks/Headers

    (スペースをエスケープしている$(SRCROOT)の周りに引用符に注意してください)。埋め込まれた"マークと少し奇妙に見えますが、完璧に動作

    "/Users/skoota/Documents/Xcode Projects/My App"/Frameworks/Headers

    :これは今まで出て拡大しました。これは私を理解するためにしばらくかかったので、うまくいけば助けます!

    4

    これは通常、ディレクトリのパスに空白がある場合に発生します。この問題を解決するには、パスの前後に二重引用符を使用します。

    プロジェクトディレクトリを使用する場合は、$PROJECT_DIRを使用します。フォルダ内で検索する場合は、再帰的に有効にします。また、あなたは使用することができます$(SRCROOT)

    +1

    それは短いとそれは私に役立った、それは私に役立った、ありがとうKunal Iveはこれでしばらくの間苦労しています。 – Arbitur

    関連する問題