【问题标题】:Linker error while building Gstreamer iOS Tutorial project构建 Gstreamer iOS 教程项目时出现链接器错误
【发布时间】:2013-07-17 09:39:32
【问题描述】:

我从their site 下载并安装了 Gstreamer iOS 库。我将教程复制到我自己的文件夹并尝试在 Xcode 中构建项目。我收到以下链接器错误。

我对此一无所知。 Gstreamer.framework 与所有目标相关联。

Undefined symbols for architecture armv7:
  "_iconv_open", referenced from:
      __nl_find_msg in GStreamer(libintl_a_armv7_-dcigettext.o)
     (maybe you meant: _g_iconv_open)
  "_iconv", referenced from:
      __nl_find_msg in GStreamer(libintl_a_armv7_-dcigettext.o)
     (maybe you meant: _iconv_canonicalize, _g_iconv_close , _g_convert_with_iconv , _g_iconv , _g_iconv_open )
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我在这里遗漏了什么明显的东西?

解决方案


框架没有问题。我只需要在 Build Phases -> Link binary with libraries 中添加 libiconv.dylib。之后没有链接器错误!

【问题讨论】:

  • 缺少整个框架。框架未正确添加。

标签: iphone ios objective-c xcode gstreamer


【解决方案1】:

更新:

我们发现另一位开发人员遇到了同样的问题,并提供了修改后的教程来解决缺少的 overlay.h 和其他几个问题,如果您有兴趣,请查看:
https://github.com/braincorp/gstreamer_ios_tutorial

【讨论】:

    【解决方案2】:

    找到了!!!

    框架没有问题。我只需要在 Build Phases -> Link binary with libraries 中添加 libiconv.dylib。之后没有链接器错误!

    【讨论】:

      【解决方案3】:

      您需要做的是将库项目拖到您的项目中。然后在您的项目设置中,转到Build Phases 并在Target Dependencies 下添加库项目作为依赖项。然后在Link Binary With Libraries(仍处于构建阶段)下,添加库的产品(一个.a 文件)。然后重建。

      在最新版本的 Xcode 中,您甚至不需要将其添加为目标依赖项。它会自动检测同一工作区中项目之间的依赖关系。您只需在Link Binary With Libraries下添加.a文件即可。

      【讨论】:

      • 但没有“库项目”。从安装程序页面 - SDK 库安装到 ~/Library/Developer/GStreamer/iPhone.sdk。在这个目录中有一个 GStreamer.framework,它包含了库、头文件和资源。
      • 在这种情况下,只需在“Link Binary With Libraries”下添加 GStreamer.framework。
      • Gstreamer.framework 已经存在......但它是“红色”的。我仍然从 iPhone.sdk 路径中添加了 gstreamer.framework。结果还是一样。我已经为所有目标应用了框架
      猜你喜欢
      • 2018-12-14
      • 2019-08-18
      • 2019-09-04
      • 1970-01-01
      • 2013-07-09
      • 1970-01-01
      • 1970-01-01
      • 2012-10-06
      • 1970-01-01
      相关资源
      最近更新 更多