LINUX.ORG.RU

Генерирование cpp из ui. Как избежать?


0

0

Я разобрался в чем проблема.
Опишу ситуацию:
Я создал в designer'е проект, добавил главную форму first_f и один модуль.
В программе мне потребовалось в классе first_f объявить поле - указатель на объект Config, который объявлен там же.
Объявление класса Config в заголовочном файле first_f.h, конструктор и деструктор в модуле first_f.cpp.

Все проект готов, не содержит ошибок. Запускаю make - он, падла, генерирует из first_f.ui .cpp!!! И естественно затирает мои объявления!
А потом жалуется на то что к-р и д-р не определены.

Как выйти из этой ситуации?


мухи отдельно - котлеты отдельно. НЕзачем тебе в first_f.cpp/first_f.h обьявлять что-то своё. Почему бы не сделать ещё один модуль config.cpp/config.h ??

Переменные в классе тоже ручками НЕ НУЖНО объявлять. это можно сделать в designer'е (окно справа вверху "Memebers").

anonymous
()

Если нужен буквальный ответ - в Makefile комментишь строчку кторая отвечает за создание cpp из ui. Но тогда че нить другое ляжет... ))))

Ну или вноси изменения в ui файл

AIv ★★★★★
()

Самый лучший (по моему мнению) варант - наследоваться от сгенерированного класса и никаких проблем

ukez
()
Ответ на: комментарий от laad

да нет, просто аффтар не может сделать то, что можно сделать по человечески. Переменные в класс можно загонять designer'ом, а Config нужно вынести в отдельный файл, тогда всё будет ок.

anonymous
()
Ответ на: комментарий от anonymous

??????

Это тогда уже не юникс-вэй а какой то МФС убогий получаеться... если ты не можешь руками править СВОИ исходники - зачем нужно такое средство разработки? Да даже у МФС ручная правка проекта, он же макефайл в какомто их убогом формате, все в куче и котлеты и мухи лягухи из пруда, приводит к осмысленным результатам (имел тут опыт пару дней назад, в форточках причем соотв. настроек не нашел)))).

Про отдельный модуль могу согласиться... а кстати на чем это таком он пишет?)))

AIv ★★★★★
()
Ответ на: комментарий от AIv

members значит...
Спасибо, а я про него даже и не знал.

Ty3uK
() автор топика
Ответ на: комментарий от AIv

> если ты не можешь руками править СВОИ исходники

дык, правя *ui.h/cpp, ты правишь уже не исходники, а _сгенеренный_ полуфабрикат. В данном случае форма в дизайнере, ну или ui-файл по-человечески -- это и есть твои исходники. Это один метод. А второй -- как раз и есть by inheritance.

> Да даже у МФС ручная правка проекта, он же макефайл

Makefile править при разработке в кутэ тоже есть плохой стиль, если ты не пишешь его _сам_. Поскольку они генерятся, а не создаются тобой. Править надо *.pro

uj2 ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.