2011-06-28 19 views
0

私はいくつかの一般的なサードパーティライブラリを共有するいくつかのiOSアプリケーションを開発しています。Xcode 4では、どのようにマルチ共有プロジェクトの設定を作成しますか?

これは私のフォルダのレイアウトです:

- すべての私のアプリthree20/

共通セットアップ:

-Shared/*chibiORM* (ORM layer) 
-Shared/**BaseApp** (This link to chibiORM & three20) 
---------------/Libs/(Several small 3dparty libs) 

このアプリはBaseAppにリンク、およびthree20、chibiORM &を持っている必要があります3dパーティーのlibsアクセス..

- App1 
- App2 
- AppN... 

私はどのように1つのプロジェクトに静的なlibをリンクするのか知っていますが、このマルチリンクの設定には失敗します。ここで、BaseAppはthree20、chibiORM、その他のユーティリティ、App1..Nのすべてのリンクにリンクしています。

私はそれぞれを1つずつ(私の現在の設定)リンクするのではなく、それらのすべてを1つにすることを好みます。

AppAppに細かいBaseAppをコンパイルし、単にプロジェクトを追加/ &のドロップをドラッグすることができます)。次に、ヘッダー/フレームワーク/ライブラリパスをそれらのすべてを指すようにします(ここで5を置くのではなく、単一のパスに簡略化できるのだろうかと思っています)が、BaseAppからリンクされた各libに対してこのエラーが表示されます:

Undefined symbols for architecture i386: 
    "__ALog", referenced from: 
     -[App1AppDelegate closeDb] in App1AppDelegate.o 
     -[App1AppDelegate application:didFinishLaunchingWithOptions:] in App1AppDelegate.o 
     -[BoardViewController cardSelected:indexPath:] in BoardViewController.o 
     -[BoardViewController gestureRecognizerShouldBegin:] in BoardViewController.o 
     -[BoardViewController moveActionGestureRecognizerStateChanged:] in BoardViewController.o 
     -[BoardViewController finishedSnap:finished:context:] in BoardViewController.o 
     -[BoardViewController animationDidStop:finished:context:] in BoardViewController.o 
     ... 
    "_sqlite3_unicode_free", referenced from: 
     -[App1AppDelegate closeDb] in App1AppDelegate.o 
    "_sqlite3_unicode_load", referenced from: 
     -[App1AppDelegate application:didFinishLaunchingWithOptions:] in App1AppDelegate.o 
    "_OBJC_CLASS_$_Db", referenced from: 
     objc-class-ref in App1AppDelegate.o 

これは可能ですか?

答えて