qt初级错误:头文件中定义,cpp未实现

这篇博客讲述了在Qt开发中遇到的一个常见错误,即头文件中声明的slot在cpp文件中未实现,导致编译错误`symbol(s) not found for architecture x86_64`。博主详细分析了错误原因,并提供了错误代码示例及修正方法,只需在对应的cpp文件中添加slot的实现即可解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

错误信息

问题

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

编译输出

Undefined symbols for architecture x86_64:
“MainWindow::slotQuestion()”, referenced from:
MainWindow::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) in moc_mainwindow.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: * [Hello2.app/Contents/MacOS/Hello2] Error 1
22:39:31: 进程”/usr/bin/make”退出,退出代码 2 。
Error while building/deploying project Hello2 (kit: Desktop Qt 5.5.1 clang 64bit)
When executing step “Make”

原因

引起原因是头文件中定义的slot,在cpp中没有实现,导致编译错误

代码

错误代码

mainwindow.h

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值