macOS symbol(s) not found for architecture arm64错误缘故起因总结

[复制链接]
发表于 2024-11-26 22:51:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
配景

环境:


  • macOS 14
  • MacBook Pro M3
正文

在macOS上举行C++开发,偶然会遇到以下报错:
  1. Undefined symbols for architecture arm64:
  2.   "CameraRawWidget::eventFilter(QObject*, QEvent*)", referenced from:
  3.       vtable for CameraRawWidget in mocs_compilation.cpp.o
  4. ld: symbol(s) not found for architecture arm64
  5. clang: error: linker command failed with exit code 1 (use -v to see invocation)
  6. ninja: build stopped: subcommand failed.
复制代码
这个错误信息,让人很茫然,很轻易被ld: symbol(s) not found for architecture arm64误导,而且很多编译错误也会出现这行话。现实上的真实缘故起因,大概跟ARM架构毫无关系。
故总结一下大概的缘故起因:
缘故起因一

函数未定义。即,假如没有实现函数的定义,也会报这个错误。
缘故起因二

使用的库未链接。当使用某个库时,代码里调用了,但CMake里没举行链接,引用这个库,也会报这个错误
总结

目前已记录的已知缘故起因如上,后续遇到继续更新。
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表