Russian Qt Forum
Ноябрь 01, 2024, 13:31
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Установка, сборка, отладка, тестирование
>
QMake - parallel builds
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: QMake - parallel builds (Прочитано 5768 раз)
Racheengel
Джедай : наставник для всех
Offline
Сообщений: 2679
Я работал с дискетам 5.25 :(
QMake - parallel builds
«
:
Август 26, 2015, 12:52 »
Всем привет,
возникла, значит, следующая проблема: есть несколько проектов, как либы, так и конечные exe. Сборка базируется на qmake+nmake (компилятор от Visual Studio 2013). "Основной" проект для билда - pro-файл с TEMPLATE = subdirs, выглядящий примерно так:
TEMPLATE = subdirs
SUBDIRS += lib1
SUBDIRS += lib2
SUBDIRS += lib3
SUBDIRS += exe1
exe1.depends = lib1 lib2
SUBDIRS += exe2
exe2.depends = lib1 lib2 lib3
SUBDIRS += exe3
exe3.depends = lib2 lib3
SUBDIRS += exe4
exe4.depends = lib1 lib3
ну и т.д, основный смысл в том, что множестно exe зависимо от множества lib.
Поэтому нужно, чтобы сначала были созданы либы, а потом уже экзешники.
Это все в принципе работает, но проекты собираются один за другим. Это душит производительность на корню.
Идеально бы было, чтобы все либы собрались параллельно, а только потом так же параллельно собрались бы все exe.
Каким способом можно достить подобного?
Записан
What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.
COVID не волк, в лес не уйдёт
Fregloin
Супер
Offline
Сообщений: 1025
Re: QMake - parallel builds
«
Ответ #1 :
Август 26, 2015, 14:07 »
а если либы зависят друг от друга?...
Записан
Racheengel
Джедай : наставник для всех
Offline
Сообщений: 2679
Я работал с дискетам 5.25 :(
Re: QMake - parallel builds
«
Ответ #2 :
Август 26, 2015, 14:31 »
Все либы статические, друг от друга не зависят.
Зависят только exe...
Записан
What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.
COVID не волк, в лес не уйдёт
vregess
Гость
Re: QMake - parallel builds
«
Ответ #3 :
Август 26, 2015, 17:36 »
jom (
https://wiki.qt.io/Jom
) пробовал?
Записан
Racheengel
Джедай : наставник для всех
Offline
Сообщений: 2679
Я работал с дискетам 5.25 :(
Re: QMake - parallel builds
«
Ответ #4 :
Август 26, 2015, 17:36 »
да, но jom проблему не решает
Записан
What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.
COVID не волк, в лес не уйдёт
vregess
Гость
Re: QMake - parallel builds
«
Ответ #5 :
Август 26, 2015, 18:55 »
можешь пояснить? вроде он как раз должен параллельно собрать либы, а потом так же параллельно все exe. разве не так?
Записан
Racheengel
Джедай : наставник для всех
Offline
Сообщений: 2679
Я работал с дискетам 5.25 :(
Re: QMake - parallel builds
«
Ответ #6 :
Август 27, 2015, 01:08 »
Нет, к сожалению. Делает то же, что nmake - собирает строго по одному, даже если ему -j указать...
Записан
What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.
COVID не волк, в лес не уйдёт
__Heaven__
Джедай : наставник для всех
Offline
Сообщений: 2130
Re: QMake - parallel builds
«
Ответ #7 :
Август 27, 2015, 08:32 »
Да, он собирает по одному проекту, но используя все ядра процессора.
Записан
Bepec
Гость
Re: QMake - parallel builds
«
Ответ #8 :
Август 27, 2015, 08:39 »
Вариант с запуском n копий nmake вами не рассматривается???
Записан
Racheengel
Джедай : наставник для всех
Offline
Сообщений: 2679
Я работал с дискетам 5.25 :(
Re: QMake - parallel builds
«
Ответ #9 :
Август 27, 2015, 12:13 »
Цитата: Bepec от Август 27, 2015, 08:39
Вариант с запуском n копий nmake вами не рассматривается???
Да в итоге так и сделали. Пришлось тупо через msbuild 2 солюшена собирать, один с либами, другой с экзешниками. Просто хотелось найти "родное" решение, через Creator. Но раз нет, так нет
Записан
What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.
COVID не волк, в лес не уйдёт
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
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 сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...