Неразрешенная ссылка на конструктор, который определен

Я получаю unresolved external symbol "public: __thiscall TestLanguage::TestLanguage(void)" ([email protected]@[email protected]) referenced in function _main

Конструктор TestLanguage определяется, насколько я могу видеть, однако, очевидно, компилятор его не видит. Мой единственный вывод заключается в том, что существуют какие-то проблемы включения (например, циркуляр включает).

Я сделал диаграмму включений для каждой единицы перевода ниже, однако я не вижу никаких проблем. Любые рекомендации будут оценены.

Включает:

Test.cpp
    Expression.h
        Operation.h
        Token.h
    CPU.h
        Operation.h
    TestLanguage.h
        ILanguage.h
        TLOperators.h
            IOperator.h
                Operation.h
                Token.h

TestLanguage.cpp
    TestLanguage.h
        ILanguage.h
        TLOperators.h
            IOperator.h
                Operation.h
                Token.h

TLOperators.cpp
    TLOperators.h
        IOperator.h
            Operation.h
            Token.h
    Expression.h
        Operation.h
        Token.h
    CPU.h
        Operation.h

CPU.cpp
    CPU.h
        Operation.h
    Operation.h

Expression.cpp
    Expression.h
        Operation.h
        Token.h
    Util.h
    IOperator.h
        Operation.h
        Token.h
    CPU.h
        Operation.h
    ILanguage.h

Operation.cpp
    Operation.h

Token.cpp
    Token.h

Ответ 1

После попытки создать MCVE, как было предложено @inetknght (спасибо BTW), я обнаружил, что на самом деле это была ошибка в Visual Studio Express 2013. я скопировал все мои исходные файлы в новый проект, поэтому я мог бы удалить материал, чтобы получить наименьший пример, однако он скомпилирован в новом проекте.

При попытке исправить исходный проект я очистил решение, вручную удалил объектные файлы, удалил .sdf файл в проекте. Ничего из этого не сработало. Затем я попытался удалить файл TestLanguage.cpp из проекта и добавить его обратно - и он сработал.

Надеюсь, это поможет любому, кто переживает это.