目标在同一工作区中的两个项目之间的依赖关系

jtb*_*des 11 macos xcode linker build

我正在使用Xcode 4.3为OS X创建一个框架.我创建了一个工作区和一个项目(带有框架目标)来进入这个工作区.

现在,我想要包含和链接第三方框架,我也将其添加到同一工作区(但不在我的项目中).我点击了+" Link Binary With Libraries "构建阶段中的按钮,第三方框架只出现在可用库列表中.

链接的框架在Project导航器中显示为红色,因为尚未构建第三方库(令人困惑的是,我的项目成功构建 - 尽管我还没有尝试使用第三方框架):

我将通过将其添加为目标依赖项来解决此问题,但是当我单击+"目标依赖项"构建阶段时,第三方目标不会显示在列表中.

我该如何正确配置/解决这种依赖?另外,我是否需要创建"复制文件"构建阶段以确保将框架复制到目标的Frameworks目录中?我该如何正确设置?

rse*_*bbe 10

我碰到了类似但有静态库的东西.

  • 你做了什么来构建框架,构建你的应用程序(即使它失败了,框架应该构建)
  • 在应用目标的链接构建阶段删除对框架的引用
  • 在Finder中找到构建的框架(由应用程序工作区构建的框架).
  • 将其拖放到使用它的应用程序项目中.请注意,这次它出现黑色(不是红色)
  • 单击它,并确保Xcode检查器显示"相对于构建的产品"(您可能需要更改它的引用类型),并且该路径只是myframework.framework.
  • 检查它是否已添加到应用程序链接阶段(它应该)
  • 这是您可以在复制/构建阶段使用的那个.

  • 向框架/库搜索路径添加`$(BUILT_PRODUCTS_DIR)`可能会有所帮助. (4认同)