Russian Qt Forum
Сентябрь 22, 2024, 01:55 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Qt 5.2.0, qmake забыл как компилировать ui  (Прочитано 5776 раз)
White Owl
Гость
« : Январь 31, 2014, 22:37 »

Вот поставил себе наконец-то Qt5. (5.2.0) Ставил через online setup так что все настройки по умолчанию и все по идее должно работать.
Пытаюсь собрать старый проект собиравшийся последний раз в Qt 4.8.4.

Проблема:
Компилятор ругается на отсутствие ui_LoginDialog.h. Убедился что LoginDialog.ui есть. QtCreator его открывает и никаких проблем в нем не видно.
В Makefile.release есть зависимость
   release/moc_LoginDialog.cpp: ui_LoginDialog.h
Но вот зависимости ui_LoginDialog.h от LoginDialog.ui я там не вижу вообще.

Поднял бэкапы из 4.8.4 там в Makefile.release есть рецепт compiler_uic_make_all с перечислением всех uiс-создаваемых заголовков. И рецепты для всех ui_*.h, а вот в Makefile.release от новой версии я таких рецептов не вижу вообще.

Кто виноват, что делать и вообще как дальше жить?
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #1 : Январь 31, 2014, 22:40 »

добавьте его в pro файл, переменная FORMS:
FORMS += LoginDialog.ui
Записан
White Owl
Гость
« Ответ #2 : Январь 31, 2014, 22:46 »

добавьте его в pro файл, переменная FORMS:
FORMS += LoginDialog.ui
Повторяю: проект прекрасно собирался (и собирается) в 4.8.4.
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #3 : Январь 31, 2014, 22:57 »

Повторяю: проект прекрасно собирался (и собирается) в 4.8.4.
Я надеюсь из каталога сборки все было убрано и выполнен qmake от Qt5?
Записан
White Owl
Гость
« Ответ #4 : Январь 31, 2014, 23:09 »

Повторяю: проект прекрасно собирался (и собирается) в 4.8.4.
Я надеюсь из каталога сборки все было убрано и выполнен qmake от Qt5?
Естественно. Это далеко не первый мой компилируемый проект.
Скопировал все исходные файлы проекта, убил все промежуточные. Запустил новый QtCreator, открыл в нем *.pro, открыл вкладку проекта, убедился что выбран правильный toolchain и все пути показывают на свеженькую копию qt5. Это далеко не первый мой Qt проект.
Подозреваю что проблема в разнице между Qt4 и Qt5, но не понимаю где именно.

Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #5 : Январь 31, 2014, 23:14 »

Подозреваю что проблема в разнице между Qt4 и Qt5, но не понимаю где именно.
А к переменной QT widgets добавили:
QT += widgets
Записан
White Owl
Гость
« Ответ #6 : Январь 31, 2014, 23:30 »

Подозреваю что проблема в разнице между Qt4 и Qt5, но не понимаю где именно.
А к переменной QT widgets добавили:
QT += widgets
Нет, а.... о! вот оказывается в чем дело было.
QtGui разрезали на модули...

Все. Заработало.
Значит если модуль widgets явно не подключен, то qmake ничего не знает про ui файлы. Будем знать.
Записан
lesav
Частый гость
***
Offline Offline

Сообщений: 235


qnx.org.ru


Просмотр профиля WWW
« Ответ #7 : Февраль 01, 2014, 11:21 »

QT += widgets

Код:
greaterThan(QT_MAJOR_VERSION, 4): {
    # Если сборка идет в Qt5 и сборка с GUI добавить модуль widgets
    contains( QT, gui ): QT += widgets
}
Записан

Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.051 секунд. Запросов: 22.