我有一个依赖于两个静态库的iPhone应用程序
执行项目>时Build For Running 然后 Project>运行没有错误,应用程序在我的iPhone上按预期运行。
执行项目>时构建存档我得到一个库的链接错误,但没有另一个库的链接错误 ld:找不到-lConcordeLib的库
当我在创建的* .a文件中查看文件系统时,我看到:
推出-的iPhoneOS / ConcordeLib.build /对象 - 正常/的ARMv6 / libConcordeLib.a
释放的iPhoneOS / ConcordeLib.build /目标正常/ ARMv7的/ libConcordeLib.a
释放的iPhoneOS / QSoptLib.build /目标正常/ ARMv6的/ libQSoptLib.a
释放的iPhoneOS / QSoptLib.build /目标正常/ ARMv7的/ libQSoptLib.a
释放的iPhoneOS / libConcordeLib.a
释放的iPhoneOS / libQSoptLib.a
我清除了派生数据,停止并重新启动XCode并仍然得到相同的错误。
答案 0 :(得分:2)
我仔细查看了ld命令,发现它在... / Build / Intermediates / NavConcorde.build / AdHoc-iphoneos /下生成了文件。 AdHoc配置文件确实不再存在,因此出现错误并不奇怪。我不知道为什么这表现为链接错误。 Debug和Release下的库必须与另一个编译器挂起。
转到产品>编辑方案并设置配置文件以使用现有的分发配置文件解决了链接错误。