【问题标题】:libiconv not linking to iOS projectlibiconv 未链接到 iOS 项目
【发布时间】:2011-11-19 20:39:08
【问题描述】:

我正在尝试将 MailCore 编译到我正在制作的 iOS 应用程序中,并且链接器一直抱怨 libiconv 未链接。至少这是我认为它所抱怨的。这是它吐出来的:

Undefined symbols for architecture i386:
  "_iconv", referenced from:
      _mail_iconv in libmailcore.a(charconv.o)
  "_iconv_open", referenced from:
      _charconv in libmailcore.a(charconv.o)
      _charconv_buffer in libmailcore.a(charconv.o)
  "_iconv_close", referenced from:
      _charconv in libmailcore.a(charconv.o)
      _charconv_buffer in libmailcore.a(charconv.o)
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status

(这是为模拟器构建的。为我的 iPhone 构建会出现同样的错误,但 s/i386/armv7/)。

我尝试将libiconv.dylib 添加到“Link Binary with Libraries”,但它根本不会改变错误。

知道这里可能出了什么问题吗?我一直在尝试用谷歌搜索这个错误,但我找不到任何关于如何在 libiconv 中链接的信息。既然是 iOS SDK 的一部分,你会认为我不需要自己编译吗?

【问题讨论】:

  • libiconv.dylib 做到了

标签: ios xcode linker iconv


【解决方案1】:

您需要通过“添加框架”添加 libiconv.dylib。 SRC 是available from this discussion.

【讨论】:

    【解决方案2】:

    作为额外确认该库包含在您的目标中,请在 Xcode 左侧窗格的文件列表中选择该库(假设您已将其添加到您的目标/项目中,您应该会看到框架下列出的框架) ,并在右侧窗格中显示 Assistant Editor 视图(视图 -> 助理编辑器 -> 显示助理编辑器)。

    然后,在左侧选中相关库后,您将看到该库的“目标成员资格”,右侧显示为复选框列表。

    您应该会看到 App Target Listed,并且应该选中该目标的复选框。

    您可以尝试取消选中并重新选中它,以将其轻推到您的项目中?

    【讨论】:

    • 谢谢,成功了!它在文件检查器中(Xcode 4 中的 Option-Cmd-1,或视图 > 实用程序 > 显示文件检查器)。
    • 很高兴听到。感谢您让我们知道并接受答案。
    • 我已经为 libjumio 库尝试过同样的事情,但没有用。你能帮我解决这个问题吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-07-10
    • 1970-01-01
    • 2013-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多