Search code examples
c++qtlinkerqmake

QT Creator undefined reference linker exit code 1, no vtable nor assembly


I have just been editing code for a proprietary software that has just been working fine. I will show some of the relevant code:

I've dealt with linker errors through QT before through a number of "Run qmake & rebuilds" however this time nothing seems to have changed with the program, yet every reference to a specific file is returning as undefined.

SOURCES += \
    main.cpp \
    mainwindow.cpp \
    program.cpp \
    dv.cpp \
    s.cpp \
    l.cpp \
    n.cpp \
    t.cpp \
    t_c.cpp

HEADERS += \
    mainwindow.h \
    program.h \
    dv.h \
    s.h \
    l.h \
    n.h \
    t.h \
    tt.h \
    t_c.h

FORMS += \
    mainwindow.ui \
    dv.ui \
    s.ui \
    l.ui \
    n.ui \
    t.ui \
    testframe.ui \
    t_c.ui

Class program.h includes nothing except the needed Q libraries (QMap, QString, etc)

Class t_c.h includes program.h.

Class t.h includes program.h, tt.h (which only includes Q libraries), and t_c.h

Class mainwindow.h includes program.h, dv.h, s.h, n.h, t.h

The latest addition was the creation of t_c.h and the adding of functions from program.h before it broke. I would think it would be an issue with t.h however every single reference to program.h's methods are "undefined", even in mainwindow.cpp

/usr/bin/ld: mainwindow.o: in function `MainWindow::MainWindow(QWidget*)':
mainwindow.cpp:(.text+0x121): undefined reference to `Program::method(QString)'

undefined reference to ... [all the way down]

I've tried cleaning, re-running qmake, deleting the build folder.

There are no external libraries outside of the Q Libraries. There is no "assembly_86_64" nor "vtable" related errors.


Solution

  • For some reason half of my functions cleared out after I condensed them in QT's view.

    Alright.