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

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

Страниц: 1 2 [3] 4   Вниз
  Печать  
Автор Тема: Создаю плагин для QtCreator для Embedded проектов без ОС  (Прочитано 40187 раз)
b-s-a
Гость
« Ответ #30 : Июнь 19, 2013, 19:31 »

qbs - Qt Build System. Это будущая система сборки, используемая Qt. Сейчас идет активная разработка.

kuzulis, всем бы такие проблемы с написанием генератора. В моем случае он будет выглядеть так:
Код:
fprintf(file, "....\nSRC = \\%s\n....", srcFiles);
Правда сложно?
« Последнее редактирование: Июнь 19, 2013, 19:57 от b-s-a » Записан
b-s-a
Гость
« Ответ #31 : Июнь 19, 2013, 19:55 »

А вот парсер написать не помешало бы. Чтобы из SRC = xxxx извлечь список файлов, а из других переменных ключи компиляции и пр.
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #32 : Июнь 19, 2013, 19:56 »

qbs - Qt Build System. Это будущая система сборки, используемая Qt. Сейчас идет активная разработка.

kuzulis, генератор писать не нужно. Так как он выглядит так:
Код:
fprintf(file, "....\nSRC = \\%s\n....", srcFiles);

Это понятно. Но проблема с автодетектом всяких системных утилит типа: copy, xcopy, mkdir, и пр. т.к. на разных платформах - они разные.

Эти утилиты необходимы будут в содержимом Makefile - по любому.

Цитировать
А вот парсер написать не помешало бы. Чтобы из SRC = xxxx извлечь список файлов, а из других переменных ключи компиляции и пр.

А никто не говорил, что Makefile будет являться файлом проекта! Makefile будет генерироваться из текущих настроек и скармливаться утилите make.
Обратного же действия (парсинга) не планировалось - слишком уж много проблем "из ничего".

Тут подавай и QBS, и Makefile, и пр..  бррр... слишком усложняете все, парни. Улыбающийся

« Последнее редактирование: Июнь 19, 2013, 20:00 от kuzulis » Записан

ArchLinux x86_64 / Win10 64 bit
b-s-a
Гость
« Ответ #33 : Июнь 19, 2013, 19:57 »

Ты смотрел makefile, что я привел в качестве примера? Видимо нет. В НЕМ УЖЕ ВСЕ СДЕЛАНО!!! Он работает и под Windows, и под Linux.
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #34 : Июнь 19, 2013, 19:58 »

UPD: Я тут потыкал QBS с новым QtCreator 2.8 и понял, что его никак не прикрутить к нашему плагину (никак невозможно использовать),
т.к. qbsprojectmanager не экспортирует никаких классов и нельзя их использовать (в отличии от qt4projectmanager).

Поэтому, ИМХО, я даже не буду заморачиваться c использованием QBS и QMake, т.к. толку от этого нуль.

Буду держаться своей первоначальной линии Улыбающийся

Зачем вам расширять плагин креатора, если надо расширить саму QBS?
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #35 : Июнь 19, 2013, 20:03 »

Цитата: b-s-a
Ты смотрел makefile, что я привел в качестве примера? Видимо нет. В НЕМ УЖЕ ВСЕ СДЕЛАНО!!! Он работает и под Windows, и под Linux.

Да, смотрел.

Код
Bash
...
REMOVE = rm -f
REMOVEDIR = rm -rf
COPY = cp
...
 

Наврятли это будет работать в Windows без установки Cygwin и всякой другой хрени.

Цитата: Авварон
Зачем вам расширять плагин креатора, если надо расширить саму QBS?

С QBS нужно еще разобраться с начала и понять чьто там надо расширить... А тут никто ее не знает.

Тем более, собрать QtCreator (для тестов) с использованием QBS - не просто "как два пальца..".
Нужно еще дополнительно качать сорцы самой QBS, как-то компилить их, а потом как-то сам QtCreator с ними собрать... Брр.. В общем. Улыбающийся


« Последнее редактирование: Июнь 19, 2013, 20:12 от kuzulis » Записан

ArchLinux x86_64 / Win10 64 bit
alex312
Хакер
*****
Offline Offline

Сообщений: 606



Просмотр профиля
« Ответ #36 : Июнь 19, 2013, 20:25 »

С QBS нужно еще разобраться с начала и понять чьто там надо расширить... А тут никто ее не знает.

Тем более, собрать QtCreator (для тестов) с использованием QBS - не просто "как два пальца..".
Нужно еще дополнительно качать сорцы самой QBS, как-то компилить их, а потом как-то сам QtCreator с ними собрать... Брр.. В общем. Улыбающийся
в версии 2.8 собирается как 2 пальца, встраивается в сорцы креатора как субмодуль.

З Ы, а под виндой можно генерить makefile для jom .а под линуксом "обычный"
« Последнее редактирование: Июнь 19, 2013, 20:27 от alex312 » Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #37 : Июнь 19, 2013, 20:47 »

UPD: Также для тех, кто не очень понимает, куда именно я клоню, я привел ниже скриншоты от CooIDE, которые демонстрируют GUI конфигурации проекта..













Я, например, хотел бы видеть что-то подобное в настойках "Build Configuration" проекта.
Я не хочу все эти опции прописывать неявно где-то в *.pro, *.qbs и пр. файлах самостоятельно.
Я, как юзер, вообще, не хочу разбираться что там прописано: файл проекта должен быть "черным" ящиком, а вся конфигурация должна автоматом парситься и предоставляться юзеру в удобной для него форме (в виде чекбоксов и пр. вещей).

Но этого не достичь просто что-то добавив в QBS, потому что всем этим занимаются плагины типа:

autotoolsprojectmanager, cmakeprojectmanager, genericprojectmanager, qbsprojectmanager, qmlprojectmanager, qt4projectmanager.

Поэтому придется для Embedded создавать свой плагин BlablaManager (который на данный момент имеется) со всеми нюансами отображения GUI для Embedded.. Вот о чем я намекаю...



« Последнее редактирование: Июнь 19, 2013, 20:58 от kuzulis » Записан

ArchLinux x86_64 / Win10 64 bit
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #38 : Июнь 19, 2013, 20:49 »

Цитата: alex312
в версии 2.8 собирается как 2 пальца, встраивается в сорцы креатора как субмодуль.

да не как два пальца.. в данный момент побую собрать - пока безрезультатно.

UPD: вроде собрал...

Цитата: alex312
З Ы, а под виндой можно генерить makefile для jom .а под линуксом "обычный"

В смысле?
« Последнее редактирование: Июнь 19, 2013, 20:59 от kuzulis » Записан

ArchLinux x86_64 / Win10 64 bit
b-s-a
Гость
« Ответ #39 : Июнь 19, 2013, 23:10 »

Цитата: b-s-a
Ты смотрел makefile, что я привел в качестве примера? Видимо нет. В НЕМ УЖЕ ВСЕ СДЕЛАНО!!! Он работает и под Windows, и под Linux.

Да, смотрел.

Код
Bash
...
REMOVE = rm -f
REMOVEDIR = rm -rf
COPY = cp
...
 

Наврятли это будет работать в Windows без установки Cygwin и всякой другой хрени.

Работает. Проверено.
По крайней мере при установке winavr.
Записан
alex312
Хакер
*****
Offline Offline

Сообщений: 606



Просмотр профиля
« Ответ #40 : Сентябрь 20, 2013, 16:49 »

Сегодня в мастер ветку QtCreator добавили Baremetal плагин https://qt.gitorious.org/qt-creator/qt-creator/commit/3fbeca21d2c1c3d073a4a0a94cacaebe4ffeb606
« Последнее редактирование: Сентябрь 20, 2013, 16:52 от alex312 » Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #41 : Сентябрь 20, 2013, 17:54 »

Охх, отлично,

вот ревью: https://codereview.qt-project.org/#change,65366
Записан

ArchLinux x86_64 / Win10 64 bit
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #42 : Февраль 21, 2015, 09:24 »

Денис, чем дело кончилось?
Тебе удалось сделать плагин?
Записан

Юра.
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #43 : Февраль 21, 2015, 14:32 »

Цитировать
Денис, чем дело кончилось?
Тебе удалось сделать плагин?

Там уже есть BareMetal плагин, который написал другой человек (Tim Sander).
Я только добавил в него некоторые "фичи": http://www.prog.org.ru/topic_28160_0.html

Но, кажется, его нужно доработать еще (продумать вообще концепцию по-лучше),
т.к. там есть некоторые недоработки:

1. Для OpenOCD реально можно задать несколько конфигов (через -f флаг),
а в плагине - только один (одно поле ввода для этого)
2. Tim также говорил, что ему не удалось запустить ST-Link утилиту (хотя у меня все работало).

Да и вообще, Tim хочет переделать все и оставить одно общее поле для ввода аргументов
командной строки.. В этом случае все плагины с OpenOCD/ST-Link становятся ненужными,
т.к. можно будет делать любые настройки GDB серверов, используя одну сущность (некую Generic).

Но мне не нравится такой подход, т.к. юзеру (мне, к примеру) неохота разбираться в
мильенах параметров командной строки для каждого GDB сервера (неохота читать мануалы).
Я хочу просто в менюшках сделать нужные настройки и прочее (как во всех Embedded IDE сделано).

Кроме того, в Windows/Linux нужно по-разному задавать опции командной строки (например
ескейпить кавычками и прочее).

Как-то так.
Записан

ArchLinux x86_64 / Win10 64 bit
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #44 : Февраль 21, 2015, 17:07 »

у меня на работе товарищ стал заниматься ARM-ом и компилит пока в консоли создавая в рукопашную Makefile, по аналогии с WinAVR.
я думал подкинуть ему идею пользовать QtCreator сунулся посмотреть как это может выглядеть, так и не понял как "Легко и просто" создавать проект для этих целей.

Ломанулся в хранилище твоего плагина - под Creator 3.3.x не собирается, начал перепахивать, да много там в API Creator-а поменялось.

Я попробую этот BareMetal.
Но мои ожидания - файл проекта типа qmake PRO, в котором список исходников, возможность перекрытия ключей компилятора и линкера, а наличие формочки для настройки меня мало интересует.
Записан

Юра.
Страниц: 1 2 [3] 4   Вверх
  Печать  
 
Перейти в:  


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