【发布时间】:2014-09-05 18:46:55
【问题描述】:
我创建了一个 iOS 框架,用于包装一些 C++ 代码。只要包含我的框架的应用程序没有使用,这个框架就可以正常工作:
Other Linker Flags: -all_load
如果使用此标志,我会在导入我的框架的应用程序中收到很多重复符号错误:
duplicate symbol _OBJC_IVAR_$_LDRequest._ldProgressBlock in:
<pathToMyFramework>/ldhttpWrapper.framework/ldhttpWrapper(LDRequest-CF8E7CA9FA604178.o)
duplicate symbol _OBJC_CLASS_$_LDRequest in:
<pathToMyFramework>/ldhttpWrapper.framework/ldhttpWrapper(LDRequest-CF8E7CA9FA604178.o)
duplicate symbol _OBJC_METACLASS_$_LDRequest in:
<pathToMyFramework>/ldhttpWrapper.framework/ldhttpWrapper(LDRequest-CF8E7CA9FA604178.o)
我在所有的 Objective-c 类中都遇到了类似的错误。 我的框架不导入任何外部依赖项。所以我排除了导入应用程序存在重复导入的问题。我还可以使用几乎为空的应用程序重现错误。 所以我会很感激这个问题可能在这里。或者一些关于“-all_load”的一般信息。
【问题讨论】:
标签: c++ ios objective-c linker linker-errors