1

我在向我的 xcode 子项目共享静态库时遇到问题。假设我的项目结构是这样的:

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

我已经为以下内容创建了静态库:

  • 子项目1
  • 子项目2

这些库需要与 Cordova 静态库链接。

我通过以下方式做到了这一点:

  • 打开子项目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)

我如何在这两个子项目中共享这个库?

非常感谢

4

1 回答 1

1

无需将两个子项目与 Cordova 链接,您只需将 Main 目标链接到 Cordova。

于 2015-04-29T10:25:22.407 回答