【问题标题】:Linking libiconv on ios在 ios 上链接 libiconv
【发布时间】:2013-11-05 04:08:18
【问题描述】:

我正在尝试将 Objective-git 库用于我正在开发的 ios 应用程序。我能够让库在模拟器中编译、链接和运行得很好。但是,当我尝试在实际的 iPad 上运行应用程序时,出现以下错误:

Undefined symbols for architecture armv7s:
  "_libiconv", referenced from:
      _git_path_iconv in libObjectiveGit-iOS.a(path.c.o)
  "_libiconv_close", referenced from:
      _git_path_iconv_clear in libObjectiveGit-iOS.a(path.c.o)
  "_libiconv_open", referenced from:
      _git_path_iconv_init_precompose in libObjectiveGit-iOS.a(path.c.o)
ld: symbol(s) not found for architecture armv7s
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我认为问题在于我正在使用不同版本的 iconv 编译 libgit2 库,然后是 ios 中包含的那个。但是,我弄乱了构建脚本,试图强制它与 ios 版本链接,但错误仍然存​​在。我应该如何正确链接 iconv 库以便我可以在实际设备上运行应用程序?

【问题讨论】:

  • 将您的架构设置为“armv7”,删除“armv7s”
  • 我已经试过了。它适用于 i386 和 x86_64,但不适用于 arm7、arm7s 或 arm64。
  • 嗯,Xcode 5.0.2 刚刚发布,它解决了这个问题。去图吧。

标签: ios objective-c linker iconv


【解决方案1】:

您需要将 libiconv.tbd 添加到 Build Phases 中的“Link Binary With Libraries”部分。

注意:我知道ObjectiveGit 解决了这个问题,但也许这对那些试图在他们的项目中使用 iconv 的人有所帮助。

【讨论】:

    猜你喜欢
    • 2011-11-19
    • 1970-01-01
    • 1970-01-01
    • 2020-02-08
    • 2015-08-27
    • 2011-08-11
    • 2023-01-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多