1

スタティック ライブラリを xcode サブ プロジェクトと共有する際に問題があります。私のプロジェクトの構造が次のようになっていると仮定します。

Main.xcodeproj
|
|_Cordova.xcodeproj
|
|_SubProject1.xcodeproj
|
|_SubProject2.xcodeproj

次の静的ライブラリを作成しました。

  • サブプロジェクト1
  • サブプロジェクト2

これらのライブラリは、Cordova Static Library とリンクする必要があります。

私はこれを行いました:

  • サブプロジェクト 1 を開く
  • 「Link Binary With Libraries」セクションに Cordova 静的ライブラリーを追加します。

それから

  • サブプロジェクト 2 を開く
  • 「Link Binary With Libraries」セクションに Cordova 静的ライブラリーを追加します。

その後、

  • Main.xcodeproj を開きました
  • SubProject1 のターゲット依存関係を追加
  • SubProject2 のターゲット依存関係を追加
  • SubProject1 スタティック ライブラリのライブラリ付きリンク バイナリを追加
  • SubProject2 スタティック ライブラリのリンク バイナリとライブラリを追加

ビルドすると、次のエラーが発生します。

duplicate symbol _OBJC_IVAR_$_CDVViewController._commandQueue in:
    /Users/xxx/Library/Developer/Xcode/DerivedData/appxxx/Build/Products/Debug-iphonesimulator/libSubProject1.a(CDVViewController.o)
    /Users/xxx/Library/Developer/Xcode/DerivedData/appxxx/Build/Products/Debug-iphonesimulator/libSubProject2.a(CDVViewController.o)

duplicate symbol _OBJC_IVAR_$_CDVViewController._commandDelegate in:
    /Users/xxx/Library/Developer/Xcode/DerivedData/appxxx/Build/Products/Debug-iphonesimulator/libSubProject1.a(CDVViewController.o)
    /Users/xxx/Library/Developer/Xcode/DerivedData/appxxx/Build/Products/Debug-iphonesimulator/libSubProject2.a(CDVViewController.o)

このライブラリをこれら 2 つのサブ プロジェクトで共有するにはどうすればよいですか?

どうもありがとう

4

1 に答える 1

1

両方のサブプロジェクトを Cordova にリンクする必要はありません。メイン ターゲットを Cordova にリンクするだけで済みます。

于 2015-04-29T10:25:22.407 に答える