Pull to refresh
12
0
Send message

Все нормальные люди собирают при помощи Qbs

Наврятли CMake лекго заработает, к примеру, с 8051 контроллерами, например тот же Keil, IAR И прочие. Придется писать свой синтаксис для таких тулчейнов. И CMake не предоставит нормальную подсветку заголовков и прочих вещей для таких компиляторов.

Хотя в Qbs это все есть из "коробки".

Кроме того, CMake ничего сам не собирает, ему нужны или Ninja Или Make, но Qbs не требует ничего лишнего и собирает сам. Кроме того, декларативный синтаксис самого Qbs гораздо лучше ложится на любые требования.

Да, Qbs замечательная и интересная штукенция, но из за политики Qt в связи с сами знаете какими событиями, много русскоязычных разработчиков приостановили свою работу.

Например, и меня постигла та же идея, и к сожалению, сейчас в Qbs наблюдается застой, коммиты перестали поступать. По факту там остался один Кристиан из Qt Company.

Вот, так не дальновидная политика компании убивает хорошие проекты. У меня сейчас желания нет что то добавлять в Qbs, увы.

А те, кому не нравится QtCreator, могут попробовать VSCode, для которой я написал расширение и пока планирую его поддерживать. ))

В общем, вот такие вот дела, ребятушки.

Не, не нужно ничего в PATH добавлять, т.к. в QtC реализовано обнаружение IAR/KEIL по ключам в реестре.

Все бы вроде хорошо, но использование мейкфайлов это конечно, дичь.

Для программирования МК хорошо подходит сборочная система Qbs. Хотя, на крайний случай, можно извратиться и с CMake.

Еще в QtC есть поддержка кейловского отладчика, т.е можно использовать KEIL и для сборки и для отладки в самом QtC.

Я хотел в QtC добавить и поддержку отладчика CSpy из IAREW, но это желание как то пропало после их реакции на известные события.

Кроме того, GDB отладка в QtC, требует наличия питона v2.x, а также условия чтобы сам GDB, был собран с поддержкой питона, что не во всех ARM тулчейнах сделано. Это минус у QtC, я считаю, что нельзя без питона.

Там был еще казус, в том, что они хотели дропнуть питон 2x и заменить на 3x. Я им говорил, что тогда половина bare-metal тулчейнов сразу отвалится. Те не поверили, дропнули, но у них провалился их плагин McuSupport и они откатили взад это как было. Смех и грех в общем.

А сейчас тоже, вот, присматриаюсь к VSCode, т.к. там завезли плагин отладки для IAR, для отладчика CSpy. Т.е. можно взять любимую систему сборки Qbs, или CMake и все делать из VSCode.

GDB, плагин для VSCode, был уже сто лет как. Возможно для полного комплекта подумаю, а не добавить ли туда плагин и для отладки KEIL овским отладчиком. ))

В общем, для меня VSCode, выглядит более заманчиво.

Ооооо.. Я когда то давным давно пацаном, прочитав книжку 300 советов (или как то так), металлизировал майского жука. Брал графит из карандаша, прокаливал его, толок до порошка, обмазывал им жука (дохлого) и опускал на проволочке в медный купорос.. Даа, было время... :)

Да, активно развивается, но не Qt Company, а сообществом. Вот пруф на последние коммиты: https://github.com/qbs/qbs/commits/master

Недавно зарелизили версию 1.20 (с тех пор как задепрекейтили) и я уже и не помню, какой это релиз по счету).

PS: На данный момент имеем желание полностью уйти от инфраструктуры Qt Company на GitHub. Также, пилится отдельный сайт (как я понял). Так что все хорошо.

UPD: Кстати, для тех кому интересны изохронные конечные точки с «почти на регистрах» (имеется ввиду использование библиотеки libopencm3), то я там добавил дополнительные исправления (пока что в свой форк). Проверена работа только для IN точек (для создания всяких микрофончиков), т.к. для OUT точек (для всяких спикеров и матюгальников) проблемно это протестировать (т.к. надо подавать на ЦАП, плюс — усилитель подключать, время тратить).
Все нормально с виндой.

Какие-то отдельные драйвера нужны только если используются Vendor-specific USB устройства.

Можно обойтись и без дров для Vendor-specific устройств, если использовать libusb. Можно даже и без libusb, т.к. винда предоставляет «стандартный» драйвер для таких устройств, нужно только правильно оформить INF файл (возможно и VID/PID) подкрутить, и тогда откроются широчайшие возможности (весь WinAPI для доступа из юзер-спейса к таким устройствам). Только одно ограничение (как помню), что чтение/запись в изохронные конечные точки реализован то ли с Windows 8 то ли с Windows 10 (надо MSDN читать для конкретики).

И вроде как сам libusb и использует эту виндовую фичу тоже (если не ошибаюсь), или может использовать (как я понял там два варианта, или ставить спец драйвер от libusb, или использовать стандартный от винды? просветите плз).

А вот audio и прочие устройства являются Class-specific устройствами, для которых также есть стандартные драйвера во всех нормальных ОС. Т.е. ничего писать дополнительно не надо, не надо никаких libusb, также не надо и мутить с VID/PID. Я, например, всегда использую связку 0xFFFF/0xFFFF и работает на любой ОС.

Только в винде (вроде до WIndows 8) было ограничение в том, она не подедрживала спецификацию для USB AUDIO CLASS v2 устройств (может уже это пофиксили сейчас).
Вот, если бы можно было «поднять» орбиту венеры к марсу и мягко приземлить марс на венеру…

Получится одна планета «венеромарс», по размерам почти как земля (правда, воды вроде мало будет, но можно потом и приземлить еще что-нить ледяное). На первых порах — там будет ад… но за тыщщу лет все устаканится и под-остынет… Как раз будет плацдарм на случай когда солнышко подраспухнет.

Эхх, мечты… :)

Лучше придумайте как доставлять водяные астеройды к орбите венеры, и как построить там орбитальную ширмочку от солнца. Сделаем венеру снова курортом!

А как планируется сохранять водород в баках в течении 30-ти лет? Это же не мешки с цементом, не долбанет ли? ;)

Там можно и так и так (кому как удобнее).
Недавно вышел первый продакшен релиз v1.0.0
Да, согласен, у меня тоже не было скиллов с TypeScript, но посидел, и написал плагин для VSCode с поддержкой системы сборки Qbs:

* marketplace.visualstudio.com/items?itemName=qbs-community.qbs-tools
* habr.com/ru/post/526256

Чего пока не хватает — так это:

1. Нормальной подсветки файлов ассемблера (а их много разных бывает).
2. Нормальной подсветки файлов линкера (а их много разных бывает).
3. Нормальной подсветки компилеро/архитектуро специфичных ключевых слов компилятора и пр.

VitGo, Вот, было бы здорово если бы объединить усилия ;)

А то каждый лепит свой костыль (это и меня касается), а в итоге как в известной басни Крылова (про лебедя, щуку, рака). ))
В каком смысле ничего хорошего не сказали? Кто и почему?

Я бы, к примеру хотел бы видеть хороший плагин для подсветки синтаксисов ассемблеров (а их вагон и маленькая тележка, не только для АРМ-ов) как в VSCode, так и в QtCreator. И чтобы оно как-то автоматом подсвечивало синтаксис в зависимости от типа выбранного компилятора/архитектуры (ну, или хотя — бы был выбор как подсветить).

А то вроде плагинов много — но выбрать нечего, т.к. они или узко-спецализированные для какой-то одной архитектуры/тулчейна, или что-нибудь еще не то. :)

Тем более, что эти IDE-шки универсальные, т.к. поддерживают такие системы сборки как CMake или Qbs (Qbs — лучший выбор, т.к. поддерживает чисто железячные компиляторы, а не только GCC прямо «из коробки»). И можно создав однажды проект в этих системах сборки, открывать его в любых IDE и компилировать.

Это я к тому, что незачем (ИМХО) распалять ресурсы на пиление чего-то своего, а лучшее решение — проанализировать что уже есть и попытаться улучшить.

> они даже отказались от собственного qbs, увы

Ну, прошло уже два года, но Qbs еще живее всех живых. Развивается по-тихонечку (даже и без Qt company, они особо ничего и не развивали при жизни тут). ;)

Есть очень хорошая поддержка его в QtCreator, а недавно вообще запилили плагин и для VSCode. В дальнейших планах вроде как есть идеи запилить и для KDevelop, но это еще на воде писано.
> На уровне кода Qt 6, полагаю, сможет работать и на Win2k

Наврятли, т.к. там изменения не только связанные с отрисовкой. Начиная с версии 5.7 (если не ошибаюсь), минимальная версия Windows это 5.7. Там изменения, как минимум коснулись с работой с сетью, там используется теперь Win API из Windows 7 (которых нету в XP и ниже). Может и еще где что-то «обновили», не знаю… Я бы не надеялся на все что ниже 7-ки ))
1

Information

Rating
Does not participate
Registered
Activity