У меня проблема с конфигурацией сборки. Я получаю ошибку 'LNK2019':
main.obj: -1: ошибка: LNK2019: неразрешенный внешний символ "public: __cdecl Reference :: Item ::Item (void) "(?? 0Item @ Object @@ QEAA @ XZ), на который ссылается функция main
Структура файловой системы для моего проекта выглядит следующим образом (World.pro):
SOURCES += \
main.cpp \
Window.cpp \
Item.cpp \
Object/Item.cpp \
Reference/Item.cpp
HEADERS += \
Window.h \
Item.h \
Object/Item.h \
Reference/Item.h
Я знаю, где проблема.В настоящее время компилятор сохраняет выходные файлы в одном основном каталоге, следовательно, будет 3 файла с одинаковыми именами (в настоящее время они перезаписаны?), Поэтому компоновщик не может найти нужные файлы.Как попросить компилятора любезно сохранить * .obj в соответствующих подкаталогах 'Object', 'Reference' и сообщить компоновщику, где искать эти файлы?
Я не хочу, чтобы отдельный проект был подпроектом (библиотеками).).Я доволен текущей структурой файловой системы.Также для меня идеально подходит преобразование имен, мне нравится ссылаться на типы по Object::Item
и Reference::Item
.