Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt инструментарий _ Чудеса компиляции в QtCreator

Автор: ++Norton++ 29.11.2009, 12:24

Подскажите, почему такое может быть и что сделать.
Добавил вторую форму QWidget, скомпилировал, все отлично.
Добавил на эту форму Button и TextEdit, сохранил, собираю и... куча ошибок:

/home/n0rt0n/doc/programming/Proj/form.cpp:6: error: invalid use of undefined type 'struct Ui::Form'
/home/n0rt0n/doc/programming/Proj/form.h:7: error: forward declaration of 'struct Ui::Form'
/home/n0rt0n/doc/programming/Proj/form.cpp:8: error: invalid use of undefined type 'struct Ui::Form'
/home/n0rt0n/doc/programming/Proj/form.h:7: error: forward declaration of 'struct Ui::Form'

Не пойму, как так? Без кнопки скомпилировалась а с ней нет, и сейчас якобы класса Form не находит. Объясните пожалуйста, что происходит?

Автор: kwisp 29.11.2009, 13:10

++Norton++,
код показывай.

Автор: ++Norton++ 29.11.2009, 13:26

Все, спасибо, разобрался наконец на вторые сутки) Дело в том, что когда в проект QtCreator'a добавляется новый класс NForm с формой к примеру nform.cpp nform.h nform.ui, то в ui_nform.h который создает QtCreator в namespace остаются почему-то не смотря ни на что имя по умолчанию, т.е.:

 
namespace Ui {
    class Form: public Ui_Form {};
} // namespace Ui

Вместо нужных нам NForm и Ui_NForm. Поэтому прежде чем компилировать пришлось вручную менять имя формы и тогда все заработало

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)