我有一个包含共享库作为源文件的项目。
一些库类需要包含一些框架(例如已知的Apple Reachability)。
这些框架未包含在项目中,因为我不使用需要它们的类/方法。
我有一个MyStandardLib.h,它引用了所有库头,并且包含在我的应用程序的.pch中。
但...
在构建我的应用程序时,链接器会为我未在应用程序中使用/调用的那些对象生成链接错误,因此从逻辑上讲不应链接它们。
例如,如果我从项目中删除了隐含的类和框架,那么一切都会很好。
如果我添加所需的框架:
如何避免这些链接器错误,并避免不应发生的链接:
最佳答案
这些错误的原因很明显是因为您要包含在项目中的框架确实需要其他框架(可以使用的框架:Reachability,CFNetwork框架和CoreLocation框架)
发生的情况是,当编译链接您的对象(从编译器的意义上来说)时,它也在所添加的框架中查找“提及”的对象,并且未找到它们,因为它们尚未包含在项目中。
如果您使用与框架B链接的框架A,则如果应用程序C使用框架A,则它也需要框架B,因为框架并非完全独立。
如果您的代码在没有这些框架的情况下进行编译,而您的应用程序需要占用的空间很小,则只需从构建阶段中删除它们,您就可以开始使用了。
但是,如果没有这些框架就无法编译,那么您别无选择,只能将它们包括在项目中,因此,甚至会增加应用程序所需的最终空间。
关于iphone - iPhone-XCode 4链接器错误,没有方法调用或对象使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7308341/