c++ - 链接错误 : undefined reference for architecture x86_64 for Xcode 5

标签 c++ xcode qt

对于新的 OSX 10.9 和 Xcode 5/5.01,我在使用 Qt (4.7) 时开始遇到链接错误的问题,错误消息如下:

ld: '......' in ___.o 包含架构 x86_64 的 undefined reference clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

我仔细检查了很多次,似乎我的代码都是正确的,并且在使用较低版本的 XCode(以及其他操作系统)之前,该项目已经成功构建了很多次。

查了很多网站,都没有解决这个问题的办法。

所以我的问题是:有没有办法找出链接器提示的丢失的“ undefined reference ”到底是什么?

最佳答案

我们在 iOS 开发中看到了同样的问题。对于某些人来说,在关闭所有链接库的链接时间优化后它就消失了。确保所有二进制依赖项也是在没有它们的情况下构建的。

找到罪魁祸首的一种方法是使用 nm -u 列出 .o 文件中所有 undefined symbol 。然后从 NS* UI* 等公共(public)库和系统库中删除内容。然后你看看剩下的是什么,并试图推断出可能遗漏了什么。

关于c++ - 链接错误 : undefined reference for architecture x86_64 for Xcode 5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19667325/

相关文章:

c++ - QDomDocument 无法打开文本中带有 & 的内容

macos - Qt 字体 OS X 和 FontBook

c++ - g++ 调用的等效 gcc 标志

ios - Xcode 不生成 dSYM 文件

c++ - 如何使此函数使用 getline 读取字符串并使其与 int 的行为相同?

swift - MusicSequenceFileLoad 在 Playgrounds 中有效,但在 Project 中无效

iphone - 在单独的文件中定义委托(delegate)函数(而不是在 ViewController 中)

python - 当我将 PyQt4 中的 QWebView 放入函数中时,它不会打开

c++ - 将每个 channel 像素与给定 vector 相乘

c++ - 从 A* 存储路径,使用 operator::new 和 boost::multi_array