我在 Xcode 5 中链接到静态库时遇到问题。我确实阅读了 Pro iOS 5 Tools 中关于构建和使用静态库的章节。在创建静态库后它告诉我要做的是在 Build Phases 选项卡中链接到框架。那部分非常简单。然后它在“标题搜索路径”下的“构建设置”中添加:
$(BUILT_PRODUCTS_DIR)
然后为了使用我的静态库,我只是像这样导入它:
#import "ConversionCalculator/ConversionCalculator.h"
所以这一直工作到昨天。我尝试在我的项目中添加一个新的静态库,但它似乎不起作用。所以我清理了我的项目,并尝试再次重建,但现在 Xcode 抱怨#import "ConversionCalculator/ConversionCalculator.h"
. 它说
词法或预处理器问题。找不到“ConversionCalculator/ConversionCalculator.h”文件。
我想知道是否有人对调试有任何提示。我浏览了不同的教程,如下所示:http: //blog.stevex.net/2012/04/static-libraries-in-xcode/ http://cocoamanifest.net/articles/2011/06/library-management- with-xcode-workspaces.html http://www.raywenderlich.com/41377/creating-a-status-library-in-ios-tutorial
但我似乎找不到链接到静态库的“黄金方式”,或者如何解决 Xcode 找不到我的文件的原因。我的文件结构是在我的机器上设置的,如下所示:
Projects\
DistanceCalculator\DistanceCalculator.xcodeproj
ConversionCalculator\ConversionCalculator.xcodeproj
DistanceCalculator.workspace
就像我说的那样,当我按照 Pro iOS 5 Tools 书中的教程进行操作时,这一切都过去了。现在我不知道为什么我的工作区以前使用过 ConversionCalculator 时找不到它。我发现困难的部分是不同的文章对标题搜索路径有不同的说法,我不确定填充该字段的最佳方法是什么。有什么想法吗?提前致谢!
编辑:我会补充一点,我可以为设备构建而不会出错。但是当我切换到 iPhone 模拟器时,它给了我关于无法找到文件的错误。我还看到我收到此警告:
ConversionCalculator was rejected as an implicit dependency for 'libConversionCalculator.a' because its architectures 'i386' didn't contain all required architectures 'i386 x86_64'
看着那个,我不确定那是什么意思。如果这意味着我的库不是为所有架构构建的,我只是尝试根据上面链接中的 wenderlich 文章创建一个为所有架构构建的目标。这似乎起作用,因为当我转到 dervieddata 文件夹时,我看到了调试、发布和通用,我看到了 libConversionCalculator.a 文件。但是当我回到工作区并尝试为模拟器重建项目时,我得到了找不到文件错误和隐式警告。
编辑#2:我刚刚在 Xcode 上看到一个警告标志,上面写着升级到推荐的构建设置。现在我没有错误。不知道发生了什么......但我想没有错误是好的。