【问题标题】:symbol(s) not found for architecture x86_64 on Mac when using Qt+opencv+ffmpeg使用 Qt+opencv+ffmpeg 时在 Mac 上找不到架构 x86_64 的符号
【发布时间】:2015-10-09 05:22:16
【问题描述】:

我在 Mac 上使用 Qt+opencv+ffmpeg 运行项目,但出现错误:未找到架构 x86_64 的符号。


.pro 的一部分:

INCLUDEPATH += /usr/local/include
INCLUDEPATH += /usr/local/include/opencv
INCLUDEPATH += /usr/local/include/opencv2

LIBS += -L/usr/local/lib -lavformat -lavcodec -lavutil

当我使用 GCC (x86 64bit in /usr/bin) 编译时,它显示

error: symbol(s) not found for architecture x86_64

当我使用 Clang (x86 64bit in /usr/bin) 编译时,它显示

error: symbol(s) not found for architecture x86_64
error: linker command failed with exit code 1 (use -v to see invocation)

我使用的是 OS X Yosemite 10.10.4。有人知道怎么解决吗?

【问题讨论】:

  • 您必须将必要的 opencv 库添加到您的 LIBS 标志中。
  • 您能否提供未找到的符号列表?对于 ffmpeg 链接标志,使用“pkgconfig --libs libavformat libavcodec libavutil”,而不是 -lavcodec -lavformat -lavutil。

标签: macos qt opencv gcc ffmpeg


【解决方案1】:

您已将路径包含在 INCLUDEPATH 中,但库本身未包含在 LIBS

也许this this的答案对你有帮助:

【讨论】:

  • 我试了第二次,现在成功了,非常感谢!
猜你喜欢
  • 2020-09-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-20
  • 2013-08-17
相关资源
最近更新 更多