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

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

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Qbs 1.15.0  (Прочитано 21236 раз)
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« : Декабрь 20, 2019, 21:12 »

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

Сообщений: 2812


Просмотр профиля
« Ответ #1 : Декабрь 22, 2019, 22:05 »

По ходу это никому не надо Улыбающийся. На опеннете вон, даж заминусовали (лучше там вообще не светиться - обгадят и придется обтекать, а иначе - впитывать).
« Последнее редактирование: Декабрь 22, 2019, 22:07 от kuzulis » Записан

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

Сообщений: 3260


Просмотр профиля
« Ответ #2 : Декабрь 22, 2019, 22:34 »

Ой, на опеннете всегда школота сидела Веселый

А так, наш форум никому не нужен, а не только Qbs Подмигивающий Ты посмотри на остальные темы... Даже про деревянный айтем никто не набрасывает.

А так-то, что ты хотел, после похорон Qbs не мог не случиться отток юзеров, но несмотря на это кто-то используется - периодически возникают вопросы в рассылке, да и баг-репорты заводят регулярно когда что-то ломается.

Я вот на самом деле две недели трахался с msvc и clang-cl чтобы заработал -fsanitize=address и прямо не могу нарадоваться насколько всё просто и красиво получилось. Шутка ли, 200 строк дифф. У меня правда есть чувство что где-то собака порылась, но Qbs и QtCreator с патчем собираются на ура.
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #3 : Декабрь 22, 2019, 23:53 »

Ты, кстати, починил Дискорд?
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #4 : Декабрь 23, 2019, 09:49 »

Цитировать
Ты, кстати, починил Дискорд?

Не, я потерял ссылку на "канал". Теперь жду когда кто-нибудь добавит упоминание о ней или в документацию или на вики.
Записан

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

Сообщений: 4747



Просмотр профиля WWW
« Ответ #5 : Декабрь 23, 2019, 10:45 »

есть какая-то утилита для конвертации pro в qbs?

https://wiki.qt.io/Qbs_Quick_Reference/ru русская страница содержит больше инфы, чем английская Улыбающийся
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #6 : Декабрь 23, 2019, 12:27 »

Цитировать
есть какая-то утилита для конвертации pro в qbs?

Вроде нету.
Записан

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

Сообщений: 3260


Просмотр профиля
« Ответ #7 : Декабрь 23, 2019, 14:15 »

Цитировать
Ты, кстати, починил Дискорд?

Не, я потерял ссылку на "канал". Теперь жду когда кто-нибудь добавит упоминание о ней или в документацию или на вики.

В посте на блоге она есть=)

Цитировать
We have recently started to use Discord in addition to the existing IRC channel #qbs on chat.freenode.net. Feel free to join
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #8 : Декабрь 23, 2019, 14:20 »

Цитировать
В посте на блоге она есть=)

Ахх, Ёлки, спасибо.
Записан

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

Сообщений: 3260


Просмотр профиля
« Ответ #9 : Декабрь 23, 2019, 14:20 »

есть какая-то утилита для конвертации pro в qbs?

https://wiki.qt.io/Qbs_Quick_Reference/ru русская страница содержит больше инфы, чем английская Улыбающийся

Есть аналог qmake -project:
Код:
qbs create-project

Сам не пользовался, за работоспособность не отвечаю

Вики я вообще не знаю зачем нужна, она просто скудно дублирует документацию. Все идеи описаны в багтрекере а не в вики, то есть для разработки она тоже не используется. Я бы вообще всю информацию держал в одном месте - в документации. Она хотя бы под тем же версионным контролем, что и код.
« Последнее редактирование: Декабрь 23, 2019, 18:12 от Авварон » Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #10 : Декабрь 23, 2019, 14:21 »

Цитировать
В посте на блоге она есть=)

Ахх, Ёлки, спасибо.

Но я тебя вижу в списке участников - тебе надо просто зайти под тем же логином/паролем что ты заходил в первый раз (если ты конечно их знаешь)
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #11 : Декабрь 24, 2019, 11:16 »

Есть аналог qmake -project:
Код:
qbs create-project

Сам не пользовался, за работоспособность не отвечаю
работать она работает, но просто собирает все обнаруженные файлы в один qbs верхнего уровня. для простых проектов сойдет, наверное Улыбающийся

попытался руками написать qbs файлы для https://github.com/kambala-decapitator/qt-test-subprojects, пока застрял на header-only либе. app1 зависит от core и header-only, core зависит от header-only: при сборке получаю
Цитировать
qt-test-subprojects/header-only/header-only.qbs:1:1 First product defined here.
qt-test-subprojects/header-only/header-only.qbs:1:1 Second product defined here.
как исправить?

можно вопросы тут задавать или лучше использовать SO/mailing list?
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #12 : Декабрь 24, 2019, 11:55 »

работать она работает, но просто собирает все обнаруженные файлы в один qbs верхнего уровня. для простых проектов сойдет, наверное Улыбающийся
Жаль, могла бы хотя бы по папочкам раскладывать

попытался руками написать qbs файлы для https://github.com/kambala-decapitator/qt-test-subprojects, пока застрял на header-only либе. app1 зависит от core и header-only, core зависит от header-only: при сборке получаю
Цитировать
qt-test-subprojects/header-only/header-only.qbs:1:1 First product defined here.
qt-test-subprojects/header-only/header-only.qbs:1:1 Second product defined here.
как исправить?
Проблема в том, что у вас есть два проекта (app1 и core), которые референсят один и тот же проект (header-only). Референсить/включать (по сути, это такой инклюд, только, слава богу, не текстовый, но можно думать о нем и так) один и тот же (под)проект более одного раза нельзя - для подпроекта можно переопределять его дефолтные проперти и если проект подключается с разными пропертями, то неясно, как это обрабатывать (брать первый? второй? брать оба нельзя!)
Обычно делают не так - обычно заводят топлевел-проект, который референсит прямые подпапки и так далее по иерархии папок. А реальные зависимости разгребаются через Depends. В qbs структура Продуктов и (более-менее) Модулей "плоская" - они видны для Depends ото всюду, без привязки к исходной иерархии. Объяснение - вы логически зависите от либы "foo", а не от папки src/libs/foo/ которая может быть где угодно (и да, как следствие, двух либ/приложений с одинаковым именем в проекте быть не может)
То есть, структура папок отдельно, зависимости отдельно (хотя они частично и параллельны).

Просто перенесите
Код:
references: [
    "../core/core.qbs",
    "../header-only/header-only.qbs",
  ]
В корневой проект (и создайте его).
Вообще, реальный Project в проекте, как правило, один - на верхнем уровне. Рекурсивные подпапки (ака TEMPLATE+=subdirs в qmake) тоже делаются через Project, но он такой "фейковый" - не содержит ничего, кроме references ниже (не пугайтесь SubProject, в данном случае он полностью эквивалентен references, просто более "декларативно")

Цитировать
qt-test-subprojects/header-only/header-only.qbs:1:1 First product defined here.
можно вопросы тут задавать или лучше использовать SO/mailing list?

В mail листе отвечают достаточно оперативно, насчет SO не знаю. Другое дело что у буржуев щаз праздники и даже коммиты в геррите не ревьювят. Ох уж это время года Улыбающийся
Задавайте пока тут
« Последнее редактирование: Декабрь 24, 2019, 13:23 от Авварон » Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #13 : Декабрь 24, 2019, 14:12 »

большое спасибо, все получилось!

(частично по теме) а как запустить Qt приложение, собранное вне креатора, без модификации rpath? запуск через
Код:
DYLD_LIBRARY_PATH=/Volumes/hdd/Applications/Qt/5.13.1/clang_64/lib app2.app/Contents/MacOS/app2
не помогает:
Цитировать
dyld: Library not loaded: @rpath/QtCore.framework/Versions/5/QtCore
  Referenced from: .../default/app2.998ffe0d/app2.app/Contents/MacOS/app2
  Reason: image not found
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #14 : Декабрь 24, 2019, 14:19 »

Там в какой-то макоси появился DYLD_FRAMEWORK_PATH в дополнение к DYLD_LIBRARY_PATH.
У меня так:
Код:
export DYLD_FRAMEWORK_PATH=/Applications/Qt/5.13.1/clang_64/lib/:`pwd`/default/sharedLib.c0837e29/
Еще учтите что это может не работать в баш скриптах, безопасности ради эта переменная при каких-то условиях не передается детям. Но из консоли вроде работает.

Еще есть команда qbs run которая умеет делать это за вас=)
Код:
qbs run -p <ваш продукт>

Код:
mbp-abbapoh:qt-test-subprojects abbapoh$ qbs run -p app2
Restoring build graph from disk
Building for configuration default
Build done for configuration default.
Installing
Starting target. Full command line: /Users/abbapoh/Programming/qt5/alien/qt-test-subprojects/default/app2.998ffe0d/app2.app/Contents/MacOS/app2

На мне висит тикет это документировать, но я ленюсь
« Последнее редактирование: Декабрь 24, 2019, 14:36 от Авварон » Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


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