Important: Please read the Qt Code of Conduct -

[Solved] Old/deleted reference moc_mainwindow.o causing 'Undefined symbols for architecture x86_64' error

  • Update/Solved: In my post I mention the files are exactly the same; however, I was playing around w/ my version control during the time and it's possible that it reverted to the older file.
    Original post:

    Forgive me if my terminology is wrong, I'm brand new to Qt.

    I'm getting the following error on compile: Error: symbol(s) not found for architecture x86_64.
    I know what is causing the error and have fixed it; however, I don't know what happend or why.

    Compiler Output
    @ld: warning: directory not found for option '-F/Applications/Qt/5.0.2/clang_64/qtbase/lib'
    Undefined symbols for architecture x86_64:

    • "MainWindow::on_actionExit_triggered()", 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: *** [] Error 1
      22:21:11: The process "/usr/bin/make" exited with code 2.
      Error while building/deploying project HSI_Signature_Library (kit: Desktop Qt 5.0.2 clang 64bit)
      When executing step 'Make'@

    Line 3: * "MainWindow::on_actionExit_triggered()", referenced from:

    on_actionExit_triggered() was an "exit" button that I put onto the form, then deleted it. It is no where in my project, yet is creating this error. I've searched everywhere in my project for it, and I'm sure I deleted it. I confirmed this is the problem by creating a new project, importing the _exact _same files and it compiled with no problem.

    Can someone explain what happened in this project? Is on_actionExit_triggered() cashed somewhere or something? Or am I missing/not understanding something else?

Log in to reply