Russian Qt Forum
Декабрь 03, 2024, 20:55
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Qt-инструментарий
>
qbs как начать
Страниц:
1
[
2
]
3
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: qbs как начать (Прочитано 28322 раз)
__Heaven__
Джедай : наставник для всех
Offline
Сообщений: 2130
Re: qbs как начать
«
Ответ #15 :
Декабрь 26, 2016, 15:47 »
Цитата: kuzulis от Декабрь 26, 2016, 15:39
Так же как и в qmake - никак.
Сам не пробовал, но, вроде, "как".
Цитировать
Adding Qwt as qmake feature
When using the qmake feature mechanism you can bind a special version of qmake to a special installation of Qwt without having to add this dependency to the application project. How to add Qwt as feature is documented in the qmake docs.
After adding Qwt as a feature f.e on Linux as a persistent property ....
qmake -set QMAKEFEATURES ${QWT_ROOT}/features
.. the following line can be added to the application project file:
CONFIG += qwt
Цитата: kuzulis от Декабрь 26, 2016, 15:39
PS: Мы, например, таскаем qwt в проекте (под виндой), сделав QBS-ную обертку для его сборки.
Тоже рассматривал этот вариант. Как там со временем сборки проекта и ребилдами?
Записан
kuzulis
Джедай : наставник для всех
Offline
Сообщений: 2812
Re: qbs как начать
«
Ответ #16 :
Декабрь 26, 2016, 16:55 »
Цитировать
Как там со временем сборки проекта и ребилдами?
Нормуль, один раз собрал и все...
Записан
ArchLinux x86_64 / Win10 64 bit
__Heaven__
Джедай : наставник для всех
Offline
Сообщений: 2130
Re: qbs как начать
«
Ответ #17 :
Декабрь 26, 2016, 17:20 »
Цитата: kuzulis от Декабрь 26, 2016, 16:55
Цитировать
Как там со временем сборки проекта и ребилдами?
Нормуль, один раз собрал и все...
Перфекционизм не даёт покоя
При ребилдах же будет заново пересобираться qwt, верно? Или в qbs предусмотрено правило (возможность реализации) не тратить время на пересборку сторонних либ?
И если вдруг я имею 3 проекта с qwt, то собирай трижды?
Дело в том, что у меня мелкие проектики, которые требуют qwt. Я заколебусь билдить либу
А эти Probe, что они из себя представляют? Документация мне не дала ответов. Почему их не используете?
Записан
kuzulis
Джедай : наставник для всех
Offline
Сообщений: 2812
Re: qbs как начать
«
Ответ #18 :
Декабрь 26, 2016, 19:28 »
Цитировать
При ребилдах же будет заново пересобираться qwt, верно?
Смотря как настроить проект. Там можно продукту установить свойство builtByDefault чтобы он не пересобирался автоматически, а пересобирался только тогда, когда по нему принудительно кликнуть в дереве проекта QtC.
Цитировать
Или в qbs предусмотрено правило (возможность реализации) не тратить время на пересборку сторонних либ?
Эммм.. тут я не понял... Можно таскать бинарик библиотеки вместе с проектом, обернув его так, чтобы можно было его указывать в Depends.
Цитировать
И если вдруг я имею 3 проекта с qwt, то собирай трижды?
Ну, тут тогда только в каждом проекте подключать qwt ручками, через cpp.dynamicLibraries/includePaths. Другого пути я не знаю.
Цитировать
А эти Probe, что они из себя представляют? Документация мне не дала ответов. Почему их не используете?
Потому что они как-бы больше ориентированы на Linux, IMHO.
Вот, если бы Qwt имела инсталлятор, который что-нибудь прописывал бы в реестре, то можно было бы накалякать модуль автоопределения библиотеки qwt и пр.
Но, т.к. в Windows нет четких требований к положению библиотек и прочего, то придется извращаться...
И, к сожалению, в QBS нету ничего похожего на:
Цитировать
qmake -set QMAKEFEATURES ${QWT_ROOT}/features
Значит оно и не нужно было... или недодумали.. можно им в список рассылки написать или в трекер.. с таким предложением..
Записан
ArchLinux x86_64 / Win10 64 bit
__Heaven__
Джедай : наставник для всех
Offline
Сообщений: 2130
Re: qbs как начать
«
Ответ #19 :
Декабрь 27, 2016, 09:14 »
kuzulis, а что если создать свой модуль qwt?
Цитировать
Making Custom Modules and Items Available Across Projects
What if your modules and items are generally useful and you want to access them in several projects? In this case, it's best to add the location to your preferences. For example:
Код:
qbs config preferences.qbsSearchPaths /usr/local/share/custom-qbs-extensions
Записан
kuzulis
Джедай : наставник для всех
Offline
Сообщений: 2812
Re: qbs как начать
«
Ответ #20 :
Декабрь 27, 2016, 13:07 »
Эммм... модуль это не библиотека... это нечто иное, для других целей.
Записан
ArchLinux x86_64 / Win10 64 bit
__Heaven__
Джедай : наставник для всех
Offline
Сообщений: 2130
Re: qbs как начать
«
Ответ #21 :
Декабрь 27, 2016, 13:18 »
Когда я в зависимости пишу cpp, то подключаю модуль для работы с c++. При указании в зависимостях Qt.core подключаю библиотеку и инклюды (как минимум) ядра qt. Разве нельзя сделать модуль для qwt, чтобы тот аналогично Qt.core работал? Или я чего-то не понимаю?
Записан
ViTech
Гипер активный житель
Offline
Сообщений: 858
Re: qbs как начать
«
Ответ #22 :
Декабрь 27, 2016, 14:43 »
В qbsSearchPaths добавляются пути для поиска модулей и прочих штук именно Qbs. Можете попробовать написать модуль для Qwt, аналогично например модулю Qt.Widgets. Но основная проблема, насколько я понимаю, в том, что в этом модуле нужно указывать конкретные пути к файлам библиотеки. А где эти файлы находятся, в общем случае не известно.
Цитата: __Heaven__ от Декабрь 26, 2016, 14:12
Хотелось бы ещё уточнить, как мне управлять путями к сторонним библиотекам на винде? Ведь на каждой машине они могут располагаться как удобно пользователю. Как использовать prf файлы, например для подключения qwt?
Записан
Пока сам не сделаешь...
kuzulis
Джедай : наставник для всех
Offline
Сообщений: 2812
Re: qbs как начать
«
Ответ #23 :
Декабрь 27, 2016, 14:46 »
Т.е. хочешь сделать как-то так:
1. Есть где-то бинари (как dll, так и lib) уже собранной Qwt (например, на E:\qwt\lib).
2. Есть где-то хидеры от Qwt (например, на E:\qwt\inc).
3. Хочешь добавить туда qbs-сный модуль (например, в E:\qwt\modules\qwt). В этом модуле будут "жестко" прописаны пути к Qwt-шным либам и хидерам (для cpp.dynamicLibraries/includePaths и прочих).
4. Создаешь где-то свой проект "Hello World" и добавляешь там Depends { name: "qwt" }.
5. При настройке QBS передаешь ей путь к модулю qwt:
Цитировать
qbs config preferences.qbsSearchPaths E:\qwt
6. Пользуешься ништяками... Т.к. теперб любой созданный проект автоматом будет знать где Qwt при использовании Depends { name: "qwt" }... Хм... в этом есть смысл...
Я правильно понял?
Если ДА - то я не пробовал это. Попробуй и расскажи..
«
Последнее редактирование: Декабрь 27, 2016, 14:54 от kuzulis
»
Записан
ArchLinux x86_64 / Win10 64 bit
__Heaven__
Джедай : наставник для всех
Offline
Сообщений: 2130
Re: qbs как начать
«
Ответ #24 :
Декабрь 27, 2016, 14:53 »
Всё так и хочу
А ещё для каждого компиля свои пути
Пускай каждый пользователь либы на винде создаёт такой модуль со своими путями.
По сути, штатный prf в qwt занимается этим же (жёстко прописывает пути) но без учёта компиля, вроде как.
Записан
kuzulis
Джедай : наставник для всех
Offline
Сообщений: 2812
Re: qbs как начать
«
Ответ #25 :
Декабрь 27, 2016, 14:58 »
Цитировать
Пускай каждый пользователь либы на винде создаёт такой модуль со своими путями.
Брр.. Ок. но я не понимаю, зачем это пользователю? Это ж только для девелопера.
В таком случае проще "пользователю" ничего не создавать, а "тупо" подправить самому в проекте пути к либам Qwt для cpp.dynamicLibraries/includePaths. Зачем ему еще заморачиваться с модулями и прочим?
PS: Я бы просто таскал Qwt с собой в проекте (или как сорцы или как бинари), чтоб жмакнул - и сразу собрал
.
Записан
ArchLinux x86_64 / Win10 64 bit
__Heaven__
Джедай : наставник для всех
Offline
Сообщений: 2130
Re: qbs как начать
«
Ответ #26 :
Декабрь 27, 2016, 15:08 »
"пользователь либы" имел в виду девелопера, который её использует
Цитата: kuzulis от Декабрь 27, 2016, 14:58
PS: Я бы просто таскал Qwt с собой в проекте (или как сорцы или как бинари), чтоб жмакнул - и сразу собрал
.
В принципе, можно, но мой перфекционизм не позволяет этого сделать по причине того, что я могу мобирать как mingw, так и msvc и в разных битностях. Не хочется 4 вида либы таскать да и идеологически как-то не правильно, что в репозитории какой-то бинарь либы с открытым кодом.
Записан
kamre
Частый гость
Offline
Сообщений: 233
Re: qbs как начать
«
Ответ #27 :
Декабрь 27, 2016, 16:46 »
Вот мне тоже интересно было бы узнать про то, как "начать с qbs".
В проекте используются такие библиотеки как boost/gtest/VTK/OpenCV/Qt. Сейчас для сборки используется CMake, позволяет более или менее автоматизированно находить эти библиотеки с нужными модулями внутри них. В Linux библиотеки ставятся из репозиториев и CMake сам их находит. В Windows приходится самому собирать эти библиотеки в архив (под нужный компилятор с нужной разрядностью и нужным набором модулей в библиотеках). В CMake под Windows приходится указывать prefix (путь до места распаковки нужного архива с библиотеками), далее все нужные вещи CMake подцепляет автоматически. Файлы CMake для подключения этих библиотек предоставляются самим CMake или уже есть в самих библиотеках.
Хотелось бы понять как в qbs подключаются эти библиотеки к проекту. Важным моментом еще является то, что эти библиотеки разбиты на модули и далеко не все модули нужны приложению. В CMake при подключении библиотеки можно указывать какие именно модули нужны. Как такое разбиение подключаемых библиотек на модули реализуется в qbs?
И еще вопрос: можно ли уже сгенерировать MSVC solution из qbs проекта и заниматься разработкой в MSVC?
Записан
__Heaven__
Джедай : наставник для всех
Offline
Сообщений: 2130
Re: qbs как начать
«
Ответ #28 :
Декабрь 27, 2016, 18:17 »
С qwt под линуксой тоже что-то было не просто
В убунтах она как положено qwt именуется, а в джентах qwt6-qt5 или как-то так.
Записан
ViTech
Гипер активный житель
Offline
Сообщений: 858
Re: qbs как начать
«
Ответ #29 :
Декабрь 28, 2016, 13:21 »
Цитата: kamre от Декабрь 27, 2016, 16:46
Вот мне тоже интересно было бы узнать про то, как "начать с qbs".
В проекте используются такие библиотеки как boost/gtest/VTK/OpenCV/Qt. Сейчас для сборки используется CMake, позволяет более или менее автоматизированно находить эти библиотеки с нужными модулями внутри них. В Linux библиотеки ставятся из репозиториев и CMake сам их находит. В Windows приходится самому собирать эти библиотеки в архив (под нужный компилятор с нужной разрядностью и нужным набором модулей в библиотеках). В CMake под Windows приходится указывать prefix (путь до места распаковки нужного архива с библиотеками), далее все нужные вещи CMake подцепляет автоматически. Файлы CMake для подключения этих библиотек предоставляются самим CMake или уже есть в самих библиотеках.
Хотелось бы понять как в qbs подключаются эти библиотеки к проекту. Важным моментом еще является то, что эти библиотеки разбиты на модули и далеко не все модули нужны приложению. В CMake при подключении библиотеки можно указывать какие именно модули нужны. Как такое разбиение подключаемых библиотек на модули реализуется в qbs?
Скорей всего для этих библиотек придётся писать проектные файлы Qbs, в том или ином виде. Разбиение библиотек на модули можно подсмотреть а примере модулей Qt.
Цитата: kamre от Декабрь 27, 2016, 16:46
И еще вопрос: можно ли уже сгенерировать MSVC solution из qbs проекта и заниматься разработкой в MSVC?
Документации по Qbs пока маловато. Для интеграции с MSVC можете посмотреть
Qt Visual Studio Tools
и
Support for generating IDE project files
.
Записан
Пока сам не сделаешь...
Страниц:
1
[
2
]
3
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...