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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Зависимости цепочки библиотек  (Прочитано 2648 раз)
ammaximus
Гость
« : Октябрь 07, 2015, 11:46 »

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

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #1 : Октябрь 07, 2015, 12:18 »

У нас тоже множество библиотек зависит друг от друга и в конце это заканчивается несколькими экзешниками Улыбающийся
И проблема аналогичная.
Единственное, что спасло чуть-чуть - мы сделали pri-файлы, которые инклудируют наиболее часто используемые зависимости.
Как-то так...
Записан

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 не волк, в лес не уйдёт
AzazelloAV
Гость
« Ответ #2 : Октябрь 07, 2015, 19:16 »

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

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

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

Кстати, засада часта техническая. Ведь зависимость между модулями появляется в процессе разработки и когда код компилируется по нарастающей (в процессе разработки), что читстый конечный тупо не может откомпилится от зависимостей.
« Последнее редактирование: Октябрь 07, 2015, 19:18 от AzazelloAV » Записан
ammaximus
Гость
« Ответ #3 : Октябрь 12, 2015, 12:16 »

Подумал к каждой библиотеке сделать pri-файл, так, чтобы зависимости набирались как снежный ком,  а приложение подключало только те, от которых напрямую зависит. Ното получается, что нужно выкладывать pri-файлы в каталоги с заголовками. Не криво ли ? Расскажите, пожалуйста, подробнее что куда кладете.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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