每当我在调试模式下编译我的程序时,它工作得很好,但是当我在发布模式下编译它时,我得到以下错误:
moc_mainwindow.cpp:-1: error: undefined reference to `MainWindow::lowercase(QString)'
moc_mainwindow.cpp:-1: error: undefined reference to `MainWindow::on_label_linkActivated(QString const&)'
moc_mainwindow.cpp:-1: error: undefined reference to `MainWindow::on_ReadButton_clicked()'
:-1: error: release/moc_mainwindow.o: bad reloc address 0x4 in section `.data'
collect2.exe:-1: error: error: ld returned 1 exit status
未定义的错误都指向我在程序中删除的函数。我也在" Ctrl-F"在moc_mainwindow.cpp中编写了所有这些函数,但我找不到任何函数。另外,通常当我双击错误时,我通常会得到一个参考,显示错误在代码中的位置,但它只是说"找不到文件:moc_mainwindow.cpp"
答案 0 :(得分:4)
我假设你正在使用Qt Creator?如果是这样,要执行清理,您可以从构建菜单中选择“全部重建”。您也可以选择“清理”,然后右键单击您的项目并选择“运行qmake”以强制重新生成make文件:
只要您使用“Shadow Build”功能确保源和构建是分开的(默认情况下应该是这样),删除构建目录也会有效。
如果你有阴影版本,只需从Projects>中复制构建目录即可。建设与发展运行>常规窗格,并使用终端中的命令行将其删除。