【问题标题】:Cross-Project source code reference in Xcode 4Xcode 4 中的跨项目源代码参考
【发布时间】:2012-02-01 08:52:42
【问题描述】:

我知道你可以让 Xcode 引用其他项目中的框架/静态库构建目标,但是如果你要引用的项目没有框架/静态库目标,你可以直接从另一个引用源代码吗Xcode 项目?我尝试使用子项目和 Xcode 4 工作区来执行此操作,但无济于事。调整标头搜索路径后,所有#import 语句都可以正常工作,但我仍然收到讨厌的编译器错误 repotting symbols not found。

setenv MACOSX_DEPLOYMENT_TARGET 10.7
/Developer/usr/bin/clang -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.7.sdk -L/Users/Tony/Library/Developer/Xcode/DerivedData/-bewprsseyzwgmsdpwvjfuzjiilap/Build/Products/Debug -F/Users/Tony/Library/Developer/Xcode/DerivedData/-bewprsseyzwgmsdpwvjfuzjiilap/Build/Products/Debug -filelist /Users/Tony/Library/Developer/Xcode/DerivedData/-bewprsseyzwgmsdpwvjfuzjiilap/Build/Intermediates/.build/Debug/.build/Objects-normal/x86_64/.LinkFileList -mmacosx-version-min=10.7 -fobjc-arc -framework Cocoa -o /Users/Tony/Library/Developer/Xcode/DerivedData/-bewprsseyzwgmsdpwvjfuzjiilap/Build/Products/Debug/.app/Contents/MacOS/

Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_MagicalRecordHelpers", referenced from:
      objc-class-ref in AppDelegate.o
  "_OBJC_CLASS_$_MRCoreDataAction", referenced from:
      objc-class-ref in ItemsArrayController.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

另外,这个新的 Xcode 4 工作区有什么用?它与子项目到底有什么不同?我唯一能发现的是它们在视觉上看起来不同......

工作区

子项目

【问题讨论】:

    标签: xcode compilation linker workspace subproject


    【解决方案1】:

    第一个问题的答案显然是“没有 Xcode 不能引用另一个项目中的源文件”。为了编译一个源文件(.m 文件)。 Xcode 项目必须直接引用它们。你可以去 Target setting -> Build Phases -> Compiled resources 查看将要编译的内容。请注意,除非文件直接添加到项目中,否则它们不会显示在要编译的资源下。然而,标头可以跨不同的项目进行通信。

    编辑

    我认为第二个问题的答案是,Xcode 3 始终需要显式管理依赖项,而 Xcode 4 工作区允许隐式管理目标依赖项,只要它们都在同一个工作区中。指定依赖项所需要做的就是在摘要页面中添加要引用为链接库的其他项目的产品。这些发现花费的时间太长了..(一个充满生产力的工作日),这方面的文档可以而且肯定应该得到改进!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-13
      • 1970-01-01
      • 2016-12-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多