4

私は経験豊富なVS.NETユーザーであり、Xcode3.1.1を起動して実行しようとしています。
これが私が達成しようとしていることです:

静的ライブラリ(「Lib」)に独自のxcodeprojファイルを持たせたいのですが。Libを使用してLibのxcodeprojファイルを参照し、Libを変更するとアプリが再リンクする実行可能アプリケーション(「アプリ」)を作成します。理想的には、AppのXcodeワークスペース内でLibのソースファイルを編集できるようにしたいので、変更を加えるために常にタスクを実行する必要はありません。

オンラインヘルプから、静的なlib xcodeprojをアプリのプロジェクトにドラッグするだけで、参照を取得できることがわかりました。静的libxcodeprojがアプリのプロジェクトに含まれると、それをアプリのターゲットにドラッグするだけで、アプリがLibに依存していることがわかります。これは正しい道のように思えますが、物事はまだ私が望むようにはうまく機能していません。

これが私の質問です:

  1. AppをLibに依存させるだけでは、AppがLibにリンクすることはないようです。libLib.aをLibフォルダーからアプリの「LinkBinaryWithLibraries」ビルドステージに明示的にドラッグする必要があるようです。VS.NETでは、プロジェクトをソリューションの依存関係として指定するだけで、プロジェクトがリンク行に追加されます。何かを見逃していないことを確認したいだけです。

  2. アプリをXcodeで開いていて、Lib.xcodeprojをそこにドラッグすると、Libのソースファイルがそこに表示されません。libLib.aは「Lib.xcodeproj」フォルダーの下にあるだけです。VS.NETでは、Libのソースファイルをその場で編集して再構築することができます...しかし、Xcodeでのこのアプローチでは、アプリを再構築するときにLib.cppを変更してもLibは再構築されません。理想的には、Lib.xcodeprojをアプリにドラッグしたときに、Libのすべてのソースファイルとターゲットが表示されるようにします。これを行う方法はありますか?

返信ありがとうございます!

4

4 に答える 4

9

ターゲット A をターゲット B に依存させても (同じプロジェクト内またはプロジェクト間で) 、ターゲット A がターゲット B にリンクされないことは正しいです。それらを明確に指定する必要があります。これは、それらが別個の概念であり、相互にリンクしたくないターゲット間に依存関係がある可能性があるためです。たとえば、ターゲット C によってビルドされ、ビルドの一部として使用されるコマンドライン ツールなどです。ターゲット A のプロセス。

また、プロジェクト A 内からプロジェクト B を参照しても、プロジェクト A のウィンドウにプロジェクト B のソース コードが表示されないことは間違いありません。これは、Xcode には Visual Studio や Eclipse と同じ「ワークスペース」モデルがないためです。上記で「プロジェクト A を含むワークスペース」の存在をほのめかしましたが、Xcode には実際にはそのようなものはなく、プロジェクト Aを表すウィンドウだけです。

于 2008-09-18T01:33:52.557 に答える
4

アプリ プロジェクトを開きます。アプリ ターゲットを右クリックし、[情報を見る] を選択します。次に、「一般タブ」に移動し、「直接依存関係」を見つけます。( + ) (プラス記号) ボタンをクリックして、直接的な依存関係を追加します。可能性のリストに Lib.xcodeproj が表示されるはずです。そのリストから Lib ターゲットを選択します。

これにより、App ターゲットをビルドするときに Lib プロジェクトをビルド (または再ビルド) する必要があります。

(今、自分の投稿を編集しています。質問のポイント 2 について何も言っていないことに気付きました。実際には、まだ 2 番について考えています。それが可能かどうかはわかりません。)

于 2008-09-17T23:11:40.540 に答える
0

私は Xcode のかなり新しいユーザーでもあります。私が知っていることのほとんどは、James Bucanek による Xcode の本 (ISBN 047175479x) から学んだものです。これは Xcode 2.2 用に書かれた古い本ですが、今日の私にもほとんどすべてが当てはまり、現在 Xcode 3.1 を使用しています。

興味があれば、おそらく安価な中古のコピーを見つけることができます。

于 2008-09-17T23:20:30.037 に答える
0

私は Xcode 3.1 の初心者でもあり、あなたが言及した問題で遊んだところ、2 番目の質問に関して問題がないことがわかりました。依存ライブラリのソース コードを編集するために使用するアプリケーションが何であれ、メイン プロジェクトは依存ターゲットを再構築します。私はそれをチェックしました:

  1. アプリが依存するライブラリのソースファイルをメモ帳アプリケーションで編集しました。
  2. 依存ライブラリ プロジェクト参照を選択し、マウスを右クリックして [Finder で開く] を選択し、必要なソース ファイルを選択して編集します。

すべてがうまく機能しています。

于 2009-11-13T14:35:28.037 に答える