2013-01-03 47 views
45

Objective-C XcodeプロジェクトでCライブラリを使用しようとしています。xcodeプロジェクトにインクルードパスを設定する方法

-- include/ 
    |-- config.h 
    |-- lib/ 
    | |-- file1.h 
    | |-- file2.h 
    | |-- file3.h 

ライブラリのドキュメントがfile1.h含めるように言うと、file1.hはfile2.hとfile3.hが含まれています。次のように

ライブラリのディレクトリ構造があります。

file2.hとfile3.hのインクルードファイルに「ファイルが見つかりません」というエラーが表示されています。 彼らは、次のようにしてfile1.hで含まれています:検索とは対照的に、これらの角カッコは、INCLUDE環境変数で指定されたパスに沿ってインクルードファイルを検索するためのプリプロセッサに指示することを私はhereを読ん

#include <lib/file1.h> 
#include <lib/file2.h> 

#includeを含むファイルと同じディレクトリに格納します。

Xcodeに環境変数INCLUDEを追加しましたが、Product-> Edit Scheme ..に行き、/the-whole-path-to/include/に設定しましたが、まだファイルが見つかりません。私はこのようにそれらを含めるようにfile1.hを変更した場合

ファイルが正常に含まれています

#include "file2.h" 

を私はむしろ、ライブラリ内のすべてのファイルのためにそれをしないと思います。

私はこの問題を解決するにはどうすればよいですか?

+0

Apple開発者の[Xcode Build Setting Reference](https://developer.apple.com/library/mac/documentation/DeveloperTools/Reference/XcodeBuildSettingRef/1-Build_Setting_Reference/build_setting_ref.html)も参照してください。 – jww

答えて

45

説明しました。

あなたがしなければならないのは、「その他のCフラグ」の検索を設定し、あなたのターゲットのビルドでそう「その他のCフラグ」の下

を設定、ビルドに-Iフラグを追加し、-I/path-to-include/

を追加することです。ここですスクリーンショット: enter image description here

+0

あなたの場合、pathToIncludeは何ですか?私のパスは私のxcodeプロジェクトの上にあり、私は-I /../../ folder_to_includeで試してみましたが、うまくいきませんでした。ありがとう – xarly

+1

下記のコメントを参照してください。 -Iフラグを使用するのではなく、SearchパスにXcodeを追加することで、XCodeにあなたが何をしているのかを知らせるほうがよいでしょう。 –

+0

@John Clements、ありがとう、最後に私はあなたのソリューションをその道で使いました。ありがとう – xarly

5

これは機能しますが、代わりに「検索パス」タブの下に置く方が良いでしょう。

+1

手配をお手伝いしますか? –

+0

"Apple LLVM compiler 4.1 - Language"の下に置く代わりに、 "Search Paths"の下に置いてください。特にインクルード用のものがあります。 – imallett

+0

回答は単独で行うべきです。あなたのものは既存の回答を参照しているようですが、表示される順序が常に変わるので、これはひどい考えです。率直に言えば、既存の答えの下のコメントは、あなたが言う必要があるのにふさわしいでしょう。 –

45

XCodeのバージョン5.0.2では、これを実行する最善の方法はターゲットの「検索パス」ペインに追加することです。これを見つけることは(私にとって)信じられないほど直観的ではありませんでした。

左の列にある「Project Navigator」アイコン(フォルダのように見えます)をクリックしてください。次に、プロジェクトエントリをクリックします。これにより、メインペインに一連の設定が表示されます。このペインの上部にある "Build Settings"をクリックします。これは、検索パスと呼ばれるものを含め、多数のエントリを表示しますが、ここに検索パスを追加することはできません!このペインの上部にあるプロジェクトの名前がプルダウンであることが分かるまで、このプルダウンからターゲットを選択すると、「ヘッダー検索パス」をダブルクリックすることができます。そして、。

ああ、狂気のGUIの喜びに必要な編集を行う。

+3

私はプロジェクトの検索パスを追加することに問題はありません。ターゲットに切り替える必要はありません:http://i.imgur.com/Tcs36ec。 png –

+0

@BrianGordonあなたの写真は、ターゲットがプロジェクトに変更されていることを具体的に示しています。 –

+1

@AntonKそうですね。ターゲットではありません。青色のアイコンはプロジェクトを意味します。 JohnClementsは、そのオプションが出現するためには目標に達しなければならないと言っていました。 –

10

を私はジョンとイアンは、上記のように、プロジェクトが(設定を構築し、私は原因<にコメントすることはできません使用してXcodeの5.0.1でこれを解決しました50名)。

新情報:

追加ユーザーヘッダ検索パスに、私も必ず変更[はい]にユーザーのパスを検索しなければならなかった含まれています。

(ユーザー以外の)ヘッダー検索パスに追加する場合、常にユーザーパスを検索する必要はありません。

2

"その他のCフラグ"を使用するか、 "HEADER_SEARCH_PATHS"を使用して、インクルードパスを指定して、実行可能ファイルのヘッダーを探すことができます。

3

このお試しください:

1 -
2左側のXcodeのペインでプロジェクトファイルを選択 - プロジェクトが途中Xcodeのペイン
3で選択されていることを確認 - の上部にある「設定の構築」を選択中央のXcodeのペイン
4 - 「すべて」を確認してください&「複合」だけ
5「設定の構築」の下に選択されている - ちょうど「設定の構築」下の検索フィールドにタイプヘッダー

あなたのsh中央のペインで編集可能な検索パスのフィールドが表示されます。

+0

ありがとう!あなたはそれをどのようにグローバルに行うことができますか? –

+0

最高の答えは、常に受け入れられるものではないのはなぜですか? :)。 – TatiOverflow

関連する問題