【发布时间】:2011-05-14 21:31:45
【问题描述】:
我有一个依赖于两个静态库的 iPhone 应用程序
当执行 Project > Build For Running 然后 Project > Run 没有错误并且应用程序在我的 iPhone 上按预期运行。
在执行 Project > Build For Archiving 时,我收到其中一个库的链接错误,但另一个库没有 ld: 找不到 -lConcordeLib 的库
当我查看创建的 *.a 文件的文件系统时,我看到:
发布-iphoneos/ConcordeLib.build/Objects-normal/armv6/libConcordeLib.a
发布-iphoneos/ConcordeLib.build/Objects-normal/armv7/libConcordeLib.a
发布-iphoneos/QSoptLib.build/Objects-normal/armv6/libQSoptLib.a
发布-iphoneos/QSoptLib.build/Objects-normal/armv7/libQSoptLib.a
发布-iphoneos/libConcordeLib.a
发布-iphoneos/libQSoptLib.a
在 DerivedData 目录中进行编译。这看起来与成功执行 Project > Build For Running 时生成的文件完全相同,后者在 Debug-iphoneos 下生成相同的文件。
我清除了派生数据,停止并重新启动了 XCode,但仍然出现相同的错误。
【问题讨论】:
标签: static xcode4 ld archiving