admin管理员组

文章数量:1663031

背景

环境:

  • macOS 14
  • MacBook Pro M3

正文

在macOS上进行C++开发,有时会遇到以下报错:

Undefined symbols for architecture arm64:
  "CameraRawWidget::eventFilter(QObject*, QEvent*)", referenced from:
      vtable for CameraRawWidget in mocs_compilation.cpp.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.

这个错误信息,让人很茫然,很容易被ld: symbol(s) not found for architecture arm64误导。实际上的真实原因,可能跟ARM架构毫无关系。

故总结一下可能的原因:

原因一

函数未定义。即,如果没有实现函数的定义,也会报这个错误。

总结

目前已记录的已知原因如上,后续遇到继续更新。

本文标签: 错误原因SymbolmacOSArchitecture