вторник, 29 апреля 2008 г.

Как компилировать библиотеки для большого проекта

Платформа: Windows
Язык программирования: С++

Если у вас есть большой проект, над которым работает большая команда и вы используете свои же библиотеки, то лучше всего компилировать такие библиотеки с одной директории. Почему? Потому что, если проект "упадет" в коде библиотеке, то даю 99%, что вам придется перегружать символы для библиотеки. Конечно, это секундная операция, но...мы пытаемся съэкономить время. Если у всех будет одинаковый путь к коду библиотек, то ничего делать не надо будет.
Итак, как сделать, чтоб команда разработчиков компилировала библиотеки с одного места?
Например, сделать subst для папок с кодом библиотек на какой-нибудь Х диск и оттуда запустить компиляцию.
Иногда, код зависит от других библиотек, которые раскиданы по диску. И тогда, приходит в помощь полезная утилитка от Марка Руссиновича - Junction.
Junction - это попросту ссылка на папку, но файловая система воспринимает ее как обычную папку. Делает junction для нескольких папок в какую-нибудь одну корневую, а уж затем делаем subst для корневой папки.
Если у вас есть несколько физических HDD, то в WinXP есть возможность сделать папку=ссылкой на диск. Тоже очень полезно.

В конце концов, у нас получается на каком-нибудь Х-диске все необходимые исходники. Запускаем на компиляцию проект, отдаем программистам lib файлы и в случае краша - лезем уже на subst Х диск.

Удачного компилирования.