Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: ammaximus от Октябрь 07, 2015, 11:46



Название: Зависимости цепочки библиотек
Отправлено: ammaximus от Октябрь 07, 2015, 11:46
У нас множество библиотек зависит друг от друга и в конце это заканчивается несколькими экзешниками.
Если библиотека А зависит от Б то в профайл А нужно включить Б. Если экзешник зависит от А то в его профайл нужно включить и А и Б.
По такому принципу у нас сейчас чтобы подключить бибиотеку нужно написать еще десяток, от которых она зависит. Если подключить к библиотеке, которой все пользуются, например, отладочную библиотеку, потом придется переделывать профайлы кучи проектов, куда также включать отладочную хотя на прямую она там не используется.
Чяднт? Нельзя поменять свой проект без беготни по другим.


Название: Re: Зависимости цепочки библиотек
Отправлено: Racheengel от Октябрь 07, 2015, 12:18
У нас тоже множество библиотек зависит друг от друга и в конце это заканчивается несколькими экзешниками :)
И проблема аналогичная.
Единственное, что спасло чуть-чуть - мы сделали pri-файлы, которые инклудируют наиболее часто используемые зависимости.
Как-то так...


Название: Re: Зависимости цепочки библиотек
Отправлено: AzazelloAV от Октябрь 07, 2015, 19:16
У нас множество библиотек зависит друг от друга и в конце это заканчивается несколькими экзешниками.
Если библиотека А зависит от Б то в профайл А нужно включить Б. Если экзешник зависит от А то в его профайл нужно включить и А и Б.
По такому принципу у нас сейчас чтобы подключить бибиотеку нужно написать еще десяток, от которых она зависит. Если подключить к библиотеке, которой все пользуются, например, отладочную библиотеку, потом придется переделывать профайлы кучи проектов, куда также включать отладочную хотя на прямую она там не используется.
Чяднт? Нельзя поменять свой проект без беготни по другим.

Бегите, бегите от этого!
Поможет ли вам мой совет. Да конечно нет. Нужно остановить проект и чётко определить связи между между вашими модулями. А это переписывание API, а это нужно иметь юнит тесты, это всего так много, что лучше закрыть глаза.

Тут вопрос даже не к проектированию, все мы начинаем проект, не имея чёткого ТЗ, что должно получиться. Тут главное и очень важное, что ваш проект разрабатывался как единый, не было разделение между модулями, а только между людьми (и то не факт). Эх, сейчас начнём, а там что будет.

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


Название: Re: Зависимости цепочки библиотек
Отправлено: ammaximus от Октябрь 12, 2015, 12:16
Подумал к каждой библиотеке сделать pri-файл, так, чтобы зависимости набирались как снежный ком,  а приложение подключало только те, от которых напрямую зависит. Ното получается, что нужно выкладывать pri-файлы в каталоги с заголовками. Не криво ли ? Расскажите, пожалуйста, подробнее что куда кладете.