【发布时间】:2016-02-02 23:54:53
【问题描述】:
我是一个相当新手的程序员(因为我只在需要时才编码),但我主要在电视工作。我一直在尝试编译我下载的工具(bmdtools) 用于在 OSX 上编译,因为我们(无论出于何种原因)不允许使用 Linux 机器。
所以,在安装完所有库并链接我需要的内容后,我运行“make”并收到错误消息:
ld: symbol(s) not found for architecture x86_64
然后我读到添加 -stdlib=libc++ 将解决所反映的任何问题。这次它完成了,创建了应该创建的所有三个文件。但是,这三个文件是完全空白的。零字节。
任何帮助或见解将不胜感激。谢谢!
【问题讨论】:
-
这取决于您将如何解决问题。您可能是 1) 缺少一两个库。 2) 忘记链接目标文件。 3) 未能定义方法或函数。 4)通过稍微不标准的编译器设置隐藏了符号。在您提供更多详细信息之前,没有人知道。
-
我怎样才能知道我错过了什么?这段代码不是我写的。
-
错误信息会告诉你的。
-
这是错误信息:ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [ bmdcapture] 错误 1
-
然后问写代码的人。只有他们可以告诉您应该如何构建它...您是否按照 README 的指示安装了 libav10?