Yoksel: ИнструкцииПоСборке ...
SourceForge.net Logo

Home Page | Изменения / НовыеКомментарии / Справка / Помочь проекту | Вход:  Пароль:  

Инструкции по сборке проекта из исходников


Сборка проекта производится при помощи системы Omake: http://omake.metaprl.org/index.html. Программу можно скачать как по указанной ссылке, так и из репозитория Йокселя: http://yoksel.cvs.sourceforge.net/yoksel/Omake/
Требуемые компоненты для сборки:

Подготовка окружения для сборки проекта и вспомогательных библиотек

Сборка проекта и вспомогательных библиотек производится из консоли. При этом должен быть установлен ряд переменных окружения – пути к заголовкам, библиотекам, компилятору, линкеру и т.д.


После установки Студии 2005 в каталоге «D:\Program Files\Microsoft Visual Studio 8\Common7\Tools» уже будет файл vsvars32.bat, который при запуске установит часть нужных переменных окружения. Однако он содержит настройки «свежеустановленной» Студии. Однако для сборки нужно, чтобы пути были настроены так, как указано ниже. Поэтому в этом файле придется вручную отредактировать настройку переменных “INCLUDE” и “LIB”.


Include files:
D:\STLPort\STLport-5.1.5\stlport (путь к заголовкам STLport)
D:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include (заголовки нового PSDK)
D:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include\mfc (заголовки нового PSDK)
D:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include\atl (заголовки нового PSDK)
D:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Include (заголовки VS2005)
C:\Program Files\Microsoft Visual Studio\VC98\Include (заголовки VS6)
D:\Program Files\DevStudio\MyProjects\CPPUnit\cppunit-1.12.0\include (заголовки CppUnit для сборки проекта с тестами)
D:\Boost\boost_1_35_0 (заголовки Буста)


Library files:
D:\STLPort\STLport-5.1.5\lib (библиотеки STLport)
C:\Program Files\Microsoft Visual Studio\VC98\Lib (библиотеки VS6)
C:\Program Files\Microsoft Visual Studio\VC98\MFC\Lib (библиотеки MFC из VC6)
D:\VS2005Proj\cppunit-1.12.0\lib (библиотеки CppUnit для сборки проекта с тестами)
D:\Boost\boost_1_35_0\stage\lib (библиотеки Буста)
D:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib (библиотеки New PSDK)


Как можно видеть, используются некоторые заголовки и библиотеки от VS6. Это необходимо для совместимости с 1С, которая тоже использует эти библиотеки.


Дополнительно к переменным INCLUDE и LIB необходимо к переменной PATH добавить путь к каталогу bin программы Omake.


Оставшаяся часть переменных окружения устанавливается запуском файла «C:\Program Files\Intel\Compiler\C++\9.1\IA32\Bin\iclvars.bat».


Можно написать специальный bat-файл, который будет вызывать два вышеуказанных.


После запуска в консоли этих двух файлов будет возможность собирать проект и дополнительные библиотеки.


Настройка каких-либо путей непосредственно в Студии не требуется.

Обновленный Platform SDK

Ссылка для скачивания: http://download.microsoft.com/download/9/7/a/97a5ac16–69ae-4672-b93e-40d66d77b278/5.2.3790.2075.51.PlatformSDK_Svr2003R2_rtm.img Около 400Мб. При особом желании можно обойтись без нового Platform SDK. Во всяком случае, есть такая надежда.

STLport

STLport необходимо собрать при помощи компилятора Intel. В проекте используется вариант библиотек STLport, статически линкующийся к конечному файлу, но с динамической линковкой с runtime-библиотеками VC++. В исходной поставке STLport такой вариант сборки для компилятора Intel не предусмотрен, но его можно включить небольшой модификацией файла configure.bat.


Если используется New PSDK, то при сборке должны быть установлены следующие опции препроцессора: _STLP_NEW_PLATFORM и _STLP_USING_PLATFORM_SDK_COMPILER. Установить их можно либо при помощи редактирования файла stlport\stl\config\user_config.h (раскомментарить нужные переменные) или при запуске сборки STLport.


Сборка происходит в каталоге «build\lib». Сначала запускаем «конфигуратор» (не 1С):


Затем саму сборку:

Boost

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


Сначала нужно собрать bjam – утилиту, которая выполняет сборку Буста. Переходим в каталог tools\jam\src и запускаем команду:


После этого в каталоге bin.ntx86 появится файл bjam.exe. Для удобства переписываем его в корневой каталог Буста.


Теперь из корневого каталога Буста запускаем следующую команду:


После сборки в каталоге stage\lib появится набор библиотек. Теперь произведем небольшие переименования. Переименовывать нужно файлы с именами вида libboost_signals-iw-mt-1_35.lib. Имена надо давать такие: libboost_signals-iw-mt-p-1_35.lib. Т.е. переименовываем файлы, которые начинаются на “lib” и содержат номер версии – добавляем последовательность “-p”. Более прямой способ сборки Буста, который не требует переименования описан здесь: http://www.1cpp.ru/forum/YaBB.pl?num=1202267316


Если вы используете Буст версии, отличной от 1.35.0, то для корректной сборки проекта с тестами исходники библиотеки boost::signals нужно поместить в каталог Tests/boost/signals, а исходники boost::program_options в каталог Tests/boost/program_options.

CppUnit

Пакет, используемый для юнит-тестирования. Необходимо только для сборки проекта с тестами. CppUnit нужно собрать. Пакет использует STL, поэтому для его сборки необходим уже собранный STLport. Для сборки нужно использовать Студию 2005. В Студии нужно открыть dsw-файл CppUnit и сконвертировать его в формат VS2005. Для сборки нам нужен проект “cppunit” в Release-варианте. Предварительно нужно сделать следующие настройки в проекте:

На выходе получим lib-файл, путь к которому нужно прописать в настройках Студии (см. выше).


В проекте включена опция «/Zc:forScope", что означает, что переменные цикла выходят из области действия в конце цикла. Эта опция вызывает ошибку компиляции в одном месте одного заголовка ATL. Там нужно поправить заголовок вручную. Также могут вылезать некоторые ошибки с макросами в заголовках PSDK – их тоже придется исправить вручную (к счастью, это нетрудно).

Сборка библиотек boost для проекта с тестами

В проект с тестами включены библиотеки boost::signals и boost::prorgam_options в виде исходных файлов. Если для сборки вы используете Буст версии, отличной от версии, используемой Йокселем, то необходимо обновить исходные файлы Буста.


В каждый cpp-файл нужно добавить строку "#include “StdAfx.h” или выставить в опциях компилятора автоматическое включение “StdAfx.h” в эти файлы. Также из каталога «boost/libs” нужно скопировать каталог в “detail” в каталог “program_options” проекта. Соответственно новому положению каталога “detail” нужно исправить включение файла “utf8_codecvt_facet.cpp” в файле «program_options/utf8_codecvt_facet.cpp”.

Сборка проекта

Сборка проекта происходит из командной строки с правильно настроенным окружением (см. выше). Сборку нужно производить из корневого каталога проекта. Допустимы следующие команды:

omake v7addin_debugВнешняя компонента для 1С:Предприятия 7.7 (отладочная версия)
omake v7addin_releaseВнешняя компонента для 1С:Предприятия 7.7 (релизная версия)
omake stand_alone_debugСамостоятельное приложение (отладочная версия)
omake stand_alone_releaseСамостоятельное приложение (релизная версия)
omake v7addin_tests_debugВнешняя компонента для 1С:Предприятия 7.7 с тестами (отладочная версия)
omake v7addin_tests_releaseВнешняя компонента для 1С:Предприятия 7.7 с тестами (релизная версия)
omake com_server_debugCOM-сервер (отладочная версия)
omake com_server_releaseCOM-сервер (релизная версия)
omake com_server_docСправка по COM-серверу (CHM-файл).

У каждой из команд допускается наличие следующих суффиксов:

Например, команда “omake v7addin_debug_clean” удалит промежуточные файлы, которые были созданы при сборке отладочной версии компоненты для 1С:Предприятия 7.7. Команда “stand_alone_release_install” произведет установку релизной версии самостоятельного приложения. Установка файлов производится следующим образом:


Также сборку можно производить из Visual Studio 2005. В Студии созданы конфигурации, аналогичные конфигурациям omake. Перед сборкой необходимо правильно отредактировать файлы “build.cmd” и “clean.cmd” в корневом каталоге проекта – в этих файлах необходимо прописать правильную настройку окружения (PATH, LIB, INCLUDE).


Если для сборки используется многоядерный или многопроцессорный компьютер, то для omake можно включить многопоточный режим сборки. Для этого следует использовать ключ -j колво_потоков. В качестве количества потоков лучше установить значение большее, чем количество ядер/процессоров, в 1,5 – 2 раза. Если проект собирается при помощи Visual Studio, то не забудьте соответственно отредактировать файл build.cmd. В настоящее время там установлено значение для четырехядерной системы. Если у вас другое количество ядер, то вам стоит изменить количество потоков в сторону увеличения или уменьшения.

Сборка COM-сервера

При сборке COM-сервера используется исправленная библиотека Comet. Путь к заголовкам библиотеки нужно добавить в переменную окружения INCLUDE. Заголовки находятся в подкаталоге Comet/include.


Для сборки документации к COM-серверу используется компилятор файлов HTML-справки (hhc.exe). Если по каким-то причинам его у вас нет и сборка справки не производится, то необходимо установить HTML Help Workshop и прописать путь к файлу hhc.exe в переменную PATH.


Страницы, ссылающиеся на данную:
HomePage


 
Файлов нет. [Показать файлы/форму]
Комментариев нет. [Показать комментарии/форму]