Я изучаю Шаблон Модель-Представление-Представитель (MVP) с помощью Qt и следовать примеру. Я могу собрать его и запустить из папки сборки, но не могу отладить его из-за ошибки:
.../glibc-2.19/sysdeps/x86_64/start.S:118: error: undefined reference to `main'
error: collect2: error: ld returned 1 exit status
Я не могу понять, что не так? Быстрый поиск в Google приносит мало информации.
PS: я использую OpenSUSE 13.1 с Qt 4.8
Ты используешь subdirs
шаблон неверный. Он не должен содержать ничего, но SUBDIRS
и иногда CONFIG += ordered
, Также модель вашего проекта немного сложнее. Сначала вы должны попробовать что-нибудь попроще, без библиотек и подпроектов.
Хороший пример проекта subdirs: Как использовать шаблон подкаталогов QMake?
Обновить
Я объясню немного. Минимальные изменения, которые вам нужно сделать в вашем проекте, чтобы он компилировался & ссылка на сайт:
SOURCES = $$PWD/Presenter/main.cpp
линия от WiringClone.pro
CONFIG += ordered
в WiringClone.pro
а также View.pro
config \
линия от WiringClone.pro
(именно это вызвало ошибку исходной ссылки)WiringClone.pro
: Utilities Model View Presenter
, View.pro
: Logic GUI
Но даже после всех этих изменений вам придется решить неразрешимую проблему: ваш Utilities
библиотека зависит от вашего Model
библиотека, но ваш Model
зависит от вашего Utilities
, Связывание не работает таким образом. Циклические зависимости не допускаются. Вот почему я рекомендую вам потерять все свои библиотеки и сначала написать простой твердый исполняемый файл.