【问题标题】:Undefined symbols for architecture x86_64: "_CFRelease"架构 x86_64 的未定义符号:“_CFRelease”
【发布时间】:2016-06-14 11:14:06
【问题描述】:

我对 Unix 世界很陌生,我正在尝试安装一个名为 Meep 的软件来进行物理模拟。为此,我需要在我的 Mac OS X 10.10.5 上安装很多库;我在其中许多方面都取得了成功,但是在为名为 pkg-config 的脚本命令“配置”时出现以下错误,该脚本适用于 glib。

CCLD     pkg-config
Undefined symbols for architecture x86_64:
  "_CFRelease", referenced from:
  _find_folder in libglib-2.0.a(libglib_2_0_la-gutils.o)
  "_CFStringGetCString", referenced from:
  _find_folder in libglib-2.0.a(libglib_2_0_la-gutils.o)
  "_CFStringGetCStringPtr", referenced from:
  _find_folder in libglib-2.0.a(libglib_2_0_la-gutils.o)
  "_CFStringGetLength", referenced from:
  _find_folder in libglib-2.0.a(libglib_2_0_la-gutils.o)
  "_CFURLCopyFileSystemPath", referenced from:
  _find_folder in libglib-2.0.a(libglib_2_0_la-gutils.o)
  "_CFURLCreateFromFSRef", referenced from:
  _find_folder in libglib-2.0.a(libglib_2_0_la-gutils.o)
  "_FSFindFolder", referenced from:
  _find_folder in libglib-2.0.a(libglib_2_0_la-gutils.o)
  "_kCFAllocatorSystemDefault", referenced from:
  _find_folder in libglib-2.0.a(libglib_2_0_la-gutils.o)
ld: symbol(s) not found for architecture x86_64

环顾四周,我了解到这可能是这些符号的链接器问题,但基本上我不知道如何解决问题。有人可以帮帮我吗?

【问题讨论】:

  • 完整的编译器/链接器命令是什么?我遇到了同样的问题,最近解决了。

标签: undefined-symbol


【解决方案1】:

你需要添加:

-framework CoreFoundation

到项目的链接命令行。

【讨论】:

  • 我在 macOS 10.13.2 上的一个 cmake 项目和一个使用 CoreMIDI 的项目中随机遇到了这个问题,这解决了问题。
猜你喜欢
  • 1970-01-01
  • 2014-08-07
  • 2012-07-20
  • 1970-01-01
  • 2015-08-23
  • 2014-05-27
  • 2017-07-06
  • 2016-06-20
  • 2017-08-25
相关资源
最近更新 更多