62

Objective-CのXcodeプロジェクトでCライブラリを使用しようとしています。

ライブラリのディレクトリ構造は次のとおりです。

-- 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 <lib/file1.h>
#include <lib/file2.h>

ここで、これらの山形文字は、#includeを含むファイルと同じディレクトリを検索するのではなく、INCLUDE環境変数で指定されたパスに沿ってインクルードファイルを検索するようにプリプロセッサに指示することを読みました。

そこで、[製品]-> [スキームの編集]に移動してXcodeにINCLUDE環境変数を追加し、に設定しました/the-whole-path-to/include/が、ファイルが見つからないというエラーが発生します。

file1.hを次のように変更すると、ファイルは正常に含まれます。

#include "file2.h"

しかし、ライブラリ内のすべてのファイルに対してそれを行うのはやめたほうがいいです。

どうすればこれを修正できますか?

4

7 に答える 7

58

XCode のバージョン 5.0.2 では、これを達成するための最良の方法は、おそらくターゲットの「検索パス」ペインに追加することです。これを見つけるのは(私にとって)信じられないほど直感的ではありませんでした. 私と同じように混乱している人のために、私がそれにたどり着いた方法は次のとおりです。

左側の列で、Project Navigator アイコン (フォルダのように見えます) をクリックします。次に、プロジェクト エントリをクリックします。これにより、メイン ペインに一連の設定が表示されます。このペインの上部にある [Build Settings] をクリックします。これには、一連のエントリが表示されます... Search Paths と呼ばれるものを含みます... しかし、ここに検索パスを追加することはできません!一方、このペインの上部にあるプロジェクトの名前がプルダウンであることがわかるまでは、このプルダウンからターゲットを選択すると、「ヘッダー検索パス」をダブルクリックして実行できるようになります必要な編集。

ああ、クレイジーな GUI の喜び。

于 2013-12-31T19:47:20.650 に答える
53

理解した。

「その他の C フラグ」の下のビルド設定に -I フラグを追加するだけです。

したがって、ターゲットのビルド設定で「Other C Flags」を検索して追加します-I/path-to-include/

スクリーンショットは次のとおりです。 ここに画像の説明を入力

于 2013-01-04T07:34:47.787 に答える
17

これを試して:

1 - 左側の Xcode ペインでプロジェクト ファイルを選択します
2 - 中央の Xcode ペインでプロジェクトが選択されていることを確認します
3 - 中央の Xcode ペインの上部にある [ビルド設定] を選択します 4 - [
すべて] と [結合] を確認します「ビルド設定」のすぐ下で選択されています
5 - 「ビルド設定」のすぐ下の検索フィールドにヘッダーを入力します

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

于 2016-03-11T01:31:45.400 に答える
4

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

于 2013-09-18T19:13:01.480 に答える