Название: Нижний регистр в имени инклюда плагина дизайнера Отправлено: Гурман от Октября 17, 2016, 21:23 Есть два моих разных плагина, которые в дизайнере перетаскиваются на окно приложения. У обоих плагинов в названии есть символы в верхнем регистре. При сборке приложения получаю ошибку "не найден инклюд <widgetname.h>" хотя должно быть WidgetName.h. Смотрю в исходник mainwindow.ui, который создаёт дизайнер, и там вижу
Код: <customwidget> Код: <customwidget> Название: Re: Нижний регистр в имени инклюда плагина дизайнера Отправлено: carrygun от Октября 18, 2016, 08:18 Скорее всего IDE так делает. Например, при создании классов в креаторе они создадутся на диске в нижнем регистре. Думаю для кроссплатформенности это дело сделано, так как в линуксах "widgetname.h" и "OtherWidget.h" - два разных файла.
Название: Re: Нижний регистр в имени инклюда плагина дизайнера Отправлено: Гурман от Октября 18, 2016, 10:54 Кроссплатформенность???... Эта фича ОТРИЦАТЕЛЬНО влияет на кроссплатформенность. В Windows компилятор слопал бы #include "widgetname.h" при том, что сам файл назывался бы WidgetName.h. А потом при переносе в Linux вылетела бы ошибка. Но я делаю в Linux и наткнулся сразу. НЕ ДОЛЖНО БЫТЬ такой фичи. Имена инклюдам даю я, и среда не имеет права их переделывать. Кстати, в самом Qt сплошь и рядом инклюды имеют символы верхнего регистра в именах инклюдов, и это вполне кроссплатформенно.
ИМХО - это баг дизайнера. Название: Re: Нижний регистр в имени инклюда плагина дизайнера Отправлено: Bepec от Октября 18, 2016, 11:16 Код: QString CButtonPlugin::includeFile() const Насколько я помню вооон оттуда берутся все инклуды. Так что где то у вас там закавыка. PS дизайнер тупой, он сам ничего не добавляет. Всем рулит плагин. Название: Re: Нижний регистр в имени инклюда плагина дизайнера Отправлено: Гурман от Октября 18, 2016, 14:29 Код: QString CButtonPlugin::includeFile() const Насколько я помню вооон оттуда берутся все инклуды. Так что где то у вас там закавыка. PS дизайнер тупой, он сам ничего не добавляет. Всем рулит плагин. Там всё тупо, никаких преобразований, в обоих случаях одинаково: QString WidgetName::includeFile() const { return "WidgetName.h"; } и QString OtherName::includeFile() const { return "OtherName.h"; } имена разумеется в реальности другие, но принцип этот же. Название: Re: Нижний регистр в имени инклюда плагина дизайнера Отправлено: Bepec от Октября 19, 2016, 18:23 Дизайнер ничего в общем то не меняет. Он просто подставляет в шаблон эти получаемые строки. Так что ошибка где то у вас.
Название: Re: Нижний регистр в имени инклюда плагина дизайнера Отправлено: Гурман от Октября 19, 2016, 18:28 Дизайнер ничего в общем то не меняет. Он просто подставляет в шаблон эти получаемые строки. Так что ошибка где то у вас. В исходниках нет. Потому что исходники плагина (включая проект), у которого имя инклюда коверкается, получены из исходников плагина, в котором всё в порядке, путем копирования и простой замены имён. Всё. Если где-то в настройках... то облазил всё, не нашел. Пришлось просто переименовать инклюд в нижний регистр, и соответственно изменить все отсылки на него в исходниках и проекте. Подозреваю, что всё-таки глюк дизайнера, лишний lowercase где-то. Название: Re: Нижний регистр в имени инклюда плагина дизайнера Отправлено: Гурман от Ноября 03, 2016, 01:46 Лазил по настройкам - и где-то вывалилось окно, в котором задавалось имя того саиого инклюда, и оно было написано в нижнем регистре. Решил уже не переделывать.
|