【问题标题】:Significance of -ObjC value in Other Linker Flags: GMaps SDK-ObjC 值在其他链接器标志中的意义:GMaps SDK
【发布时间】:2013-02-20 18:02:24
【问题描述】:

我正在尝试将 google maps sdk 与 iOS 6.1 集成。我可以通过使用给出的说明成功地在 iOS 模拟器上填充 gmap GMaps for iOS starting guide

那有什么问题: 当我将它作为一个单独的项目使用时,它工作得很好。但是,当我将上述项目代码与现有应用程序结合使用时,它的行为很奇怪,并且由于在构建设置中的其他链接器标志中包含 -ObjC 值而产生所有错误。

错误 duplicate symbols for architecture i386

当我跳过 步骤 7 (GMaps iOS) 时,它不会给出错误。由于排除了 -ObjC 值,它无法识别特定的 GMaps 库类及其方法: [GMSCameraPosition cameraWithLatitude:longitude:zoom:]: unrecognized selector sent

我的 iOS 应用背景: 使用第三方库 SUP(Sybase 无线平台)。将 SAP 连接到 iOS 应用程序。我想当我尝试添加 GMaps 库时,SUP 环境启用(构建设置)有些模糊。

寻求您的建议。

谢谢!

【问题讨论】:

  • 您遇到哪些重复符号错误?你能发布完整的错误信息吗?
  • ld:架构 i386 的 431 个重复符号
  • 您是否提供了一个最小的演示项目来重现您的问题?我快速查找了 SUP 和我找到的 2010 年文档并说“不支持 Xcode 3.2.3 + iOS 4”。明确表明我正在查看错误的文档,或者您应该搜索其他库。
  • 当我将我的项目从 XCode 4.5.2 迁移到 4.6 时,它产生了大约 300 个警告。我不确定原因。但这与我上面讨论的问题不同。如果我只使用 SUP 或 GMpas,听起来不错。但是当我在单个项目中同时使用两个指令时,我遇到了上述问题。

标签: ios objective-c linker-errors sup google-maps-sdk-ios


【解决方案1】:

在 SO 上有很多关于架构 i386 错误的重复符号的帖子。通常这意味着您在同一个命名空间中定义了两次相同的符号。上次我得到这个错误是因为我不小心包含了一个 .m 文件而不是 .h 头文件。

【讨论】:

    【解决方案2】:

    您检查过构建架构吗?

    尝试将Build Active Architecture Only 设置为Yes

    【讨论】:

      【解决方案3】:

      我今天也面临同样的问题! -ObjC linker flag - When trying to add it to "Other Linker Flags" I get an error

      我解决了我的问题,这是我的建议。获取您的原始项目(不带 Gmaps 和带 SUP)并向其添加 -ObjC 标志。你还在报错吗?如果是这样,请将 Gmaps 排除在外。如果您仍然在警告中收到有关它警告您的文件的错误检查。我的问题是我有两个文件 libGoogleAnalytics.a 和 libGoogleAnalytics_debug.a 并且由于某种原因它们不能与 -ObjC 共存。

      长话短说,您需要找到 Gmaps 正在使用的您项目中已有的库并删除其中一个。

      【讨论】:

      • 看,这就是为什么我一直告诉人们不要在他们自己的库中包含第三方库。它会造成混乱。只需告诉您图书馆的用户也链接该第三方图书馆,一切都会保持良好。
      • 仅链接是指不将库复制到我自己的库或不标记添加到目标?
      • 谢谢大家。我一定会检查一下并告诉你。
      【解决方案4】:

      请试试这个……

      第 1 步:将“-ObjC”添加到“目标”的“构建设置”中的其他链接器标志,但不要添加到“项目”

      【讨论】:

        猜你喜欢
        • 2013-10-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-11-27
        • 1970-01-01
        • 1970-01-01
        • 2015-12-31
        • 1970-01-01
        相关资源
        最近更新 更多