Ios 迁移到XCode派生数据生成路径后的链接器错误
我有一个XCode 4项目,它使用了Ios 迁移到XCode派生数据生成路径后的链接器错误,ios,xcode,static-linking,Ios,Xcode,Static Linking,我有一个XCode 4项目,它使用了Legacy构建位置(File->project Settings->Advanced) 该项目有三个目标。静态库A消费了静态库B,然后链接到消费应用程序C 我利用这个问题()的要点构建了一个通用的a和B静态库,然后它们被lipo'd合并成一个.a,在C中链接。一切都很好 最近,我在DerivedData中将构建位置设置为XCode默认值进行了迁移(实验),我的应用程序C开始出现与A中定义的对象相关的链接器错误。因为我已经验证了fat库的创建是正确的,所以它非
Legacy
构建位置(File->project Settings->Advanced
)
该项目有三个目标。静态库A
消费了静态库B
,然后链接到消费应用程序C
我利用这个问题()的要点构建了一个通用的a
和B
静态库,然后它们被lipo
'd合并成一个.a
,在C
中链接。一切都很好
最近,我在DerivedData中将构建位置
设置为XCode默认值进行了迁移(实验),我的应用程序C
开始出现与A
中定义的对象相关的链接器错误。因为我已经验证了fat库的创建是正确的,所以它非常混乱
对于迁移到XCode默认值,是否还有其他一些需要注意的事项
更新
用图像更新。选择Legacy
后,一切都会正常运行。使用Xcode Default
,我得到链接器错误。此设置甚至不存储在您的项目中,因此我必须确保构建此项目的所有计算机都使用该设置。我不理解此设置与链接器错误之间的相关性。还有其他人遇到过这种情况吗
更新2
我发现这与我在库A
中绑定到B
的方式有关。我以以下方式使用libtool
libtool -static -o superlib.a out/*.a
此命令成功,但生成的.a
与应用程序链接不正确。如果我取出所有文件/*.a
并将它们与应用程序独立链接,它就可以正常工作。另外,在Legacy
构建位置,superlib.a
工作正常
令人困惑