3

新しい Xcode4 ワークスペース機能を使用して、それらの間に依存関係があるいくつかの Xcode3 プロジェクトを移行しようとしています。静的ライブラリを作成するプロジェクトと、静的ライブラリに依存するアプリケーション プロジェクトがあります。そのため、ガイドに記載されているように、新しいワークスペースを作成し、両方のプロジェクトをワークスペースにドラッグしました。しかし、アプリケーションをビルドすると、静的ライブラリからヘッダー ファイルが見つかりません。「そのようなファイルまたはディレクトリはありません」というエラーが表示されます。私の意図は、Xcode が依存関係を自動検出できるようにすることです。しかし、何が間違っているのかわからないため、機能させることができませんでした。どんな助けでも大歓迎です。そこには多くのドキュメントもありません。

4

3 に答える 3

3

数時間イライラした後、解決策を見つけたかもしれません (それが正しい方法かどうかはまだわかりません)。

  1. 新しいワークスペースを作成しました
  2. 共有ライブラリ プロジェクトを追加しました
  3. 共有ライブラリの下にアプリケーション プロジェクトを追加しました (内部ではありません)。
  4. 共有ライブラリのビルド段階を開き、ヘッダーをコピーするときにそれがパブリックにグループ化されていることを確認しました
  5. アプリケーションのビルド設定を開き、ヘッダー検索パスに「BUILD_PRODUCTS_DIR」\usr\local\include と入力します。
  6. そして、ターゲットのビルドフェーズに、静的ライブラリ (共有ライブラリ) へのリンクを含めました

クリーンアップとビルドを行い、すべてが正常にビルドされました。

ただし、Xcode4ガイドによると、設定を変更する必要はなく、ワークスペースにプロジェクトを追加するだけですべてが処理されるため、これが正しい方法であるとはまだ確信していません。いつか、正解を見つけて使ってみたいです。

ありがとうジャビッド

于 2011-03-25T15:17:30.097 に答える
2

問題は、Xcode環境変数が間違った場所を報告していることにあるようです。たとえば、$(TARGET_BUILD_DIR)は次のように変換されます。

/ build / Debug /

..しかし、ワークスペースを使用する場合、追加のフォルダーがそのパスに挿入されます。

/ build / products / Debug

..Xcodeが無視しているように見えるか、処理できない。

于 2011-08-05T19:46:13.397 に答える
2

これについては、少なくともいくつかの方法があります。

私がしていることは、ライブラリ パスを指すメイン ターゲットの User Header Search Path ビルド設定の値を設定することです。ビルド設定エディターの検索ボックスに「ユーザー ヘッダー」と入力するだけで、それが見つかります。

頻繁に使用する予定のライブラリを使用している場合は、ソース ツリー設定をセットアップすることをお勧めします。これは XCode Prefs -> Source Trees にあります。エントリを追加し、ライブラリ ソースへのパスを入力して、適切な設定名を付けます。XXLIBRARY_SOURCE。次に、ユーザー ヘッダーの検索パス (またはライブラリ パスが必要なその他のビルド設定) で、パスとして $(XXLIBRARY_SOURCE) を使用できます。

単純ですが柔軟性に欠ける別の方法は、ライブラリのヘッダーをメイン プロジェクトにドラッグすることです。

于 2011-03-25T02:11:48.430 に答える