【问题标题】:iOS Framework Error duplicate Symbols with flag -all_loadiOS 框架错误与标志 -all_load 重复符号
【发布时间】: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


    【解决方案1】:

    为您的每个库使用其他链接器标志:-force_load path_to_static_framework_executable_or_static_lib。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-18
      • 2015-12-08
      • 1970-01-01
      • 1970-01-01
      • 2018-05-06
      • 2013-07-29
      • 2016-02-12
      • 1970-01-01
      相关资源
      最近更新 更多