Ios4 链接Xcode 4中的静态库时出现问题

Ios4 链接Xcode 4中的静态库时出现问题,ios4,build-process,xcode4,static-libraries,Ios4,Build Process,Xcode4,Static Libraries,在我几天前升级到Xcode 4之前,世界上一切正常。从那以后,我一直在为使事情按其应有的方式运转而烦恼。我有一个重要的更新需要发布。我尝试了我能想到的各种设置,重新启动,重新安装Xcode,恢复到我文件的旧版本,一切 我的项目链接到另外三个项目中包含的三个静态库。我使用了标准流程来链接库(将项目文件拖到我的项目中,将它们的产品添加为目标依赖项,将lib---.a文件添加到链接二进制文件与库阶段)。实际上,对于模拟器或测试设备,我在编译调试构建配置时没有问题 当我使用发行版构建配置编译时,或者当我

在我几天前升级到Xcode 4之前,世界上一切正常。从那以后,我一直在为使事情按其应有的方式运转而烦恼。我有一个重要的更新需要发布。我尝试了我能想到的各种设置,重新启动,重新安装Xcode,恢复到我文件的旧版本,一切

我的项目链接到另外三个项目中包含的三个静态库。我使用了标准流程来链接库(将项目文件拖到我的项目中,将它们的产品添加为目标依赖项,将lib---.a文件添加到链接二进制文件与库阶段)。实际上,对于模拟器或测试设备,我在编译调试构建配置时没有问题

当我使用发行版构建配置编译时,或者当我尝试归档时,一切都会偏离正轨。根据我的设置,我会遇到许多不同的错误,但大多数错误都与此有关:

ld:警告:忽略文件 […]/Build/Products/Debug iphonesimulator/libGDataTouchStaticLib.a, 文件是为存档而生成的,该存档是 不是被链接的架构 (armv6)的未定义符号 体系结构armv6:
“_OBJC_CLASS_$_GDataSpreadsheetData”, 引用自: ExportViewController.o中的objc类引用

我不明白为什么它会在调试iphonesimulator目录中查看产品(我发誓,我链接到的所有内容都会在Finder中显示为在正确的发布iphoneos目录中)


我花了很多时间来修复这个,真的需要帮助!谢谢大家!

请检查此问题和答案。我遇到了同样的问题并解决了它


我解决了这个问题,将.a lib文件从发布版iphoneos目录复制到调试版iphonesimulator目录,这样即使Xcode在错误的目录中查找,也能找到正确的文件


然而,随后我遇到了多应用程序捆绑的问题——而给出的解决方案对我来说不起作用。最终放弃并重新安装了Xcode 3。在20分钟内编译、存档并上传到应用商店。在我再给Xcode 4一次机会之前,需要一段时间和几次dot发布。

您可能已经在Gdata\u REQUIRE\u SERVICE\u INCLUDES=1的其他C标志中为GdatOuchStaticLib目标启用了。如果是这样的话,通过将-DGDATA_INCLUDE_SPREADSHEET_service=1添加到其他C标志中,添加您需要的服务(在本例中为电子表格)。或者,如果您不希望GData需要服务包含(这会将所有内容构建到静态库中,而不仅仅是您需要的内容),只需删除DGDATA_require_service_includes标志。

谢谢。我找到了一个不同的解决方案——只是将.a从Release iphoneos目录复制到Debug iphonesimulator目录。换句话说,成功地欺骗了它。然后出现了另一个错误,我将单独解决。我有同样的问题,但它是针对“mySettings”库的,这只是一个简单的应用程序内设置库,我包括在我的应用程序中,我所做的是转到mySettings的目标部分中的库,并更改“仅构建活动架构”从“是”到“否”,然后它就建得很好了。