<install-dependencies>on
<install-type>EXE
<install-type>SHARED_LIB
<location>.
;
Теперь введите:
> bjam hellobeatles
находясь в директории hellobeatles
. Наконец, введите:
> bjam dist
В результате исполняемый файл
Как было сказано в рецепте 1.5, прежде чем запускать
Цели библиотек, от которых зависит данная цель, указываются как источники с помощью записи
. В рецептах 1.8 и 1.9 я показал, как объявлять цель для сборки библиотеки из исходного кода с помощью Boost.Build Однако если библиотека доступна в виде готового двоичного файла, вы можете объявить цель для нее следующим образом.
lib
:
: <file>
;
Как объяснялось в рецепте 1.7, большая часть основных целей соответствует не одному файлу, а набору связанных файлов, таких как отладочная и окончательная сборка исполняемого файла. Чтобы объявить цель для готовой библиотеки, у которой есть несколько вариантов, используйте следующую запись.
lib
:
: <file>
;
lib имя-цели
: <file>
;
Например, отладочный и окончательный варианты готовой библиотеки могут быть объявлены следующим образом.
lib cryptolib
:
: <file> ../libraries/cryptolib/cryptolib_debug.lib
<variant>debug
;
lib cryptolib
: <file> ../libraries/cryptolib/cryptolib.lib
<variant>release
;
Если готовая библиотека расположена в одной из директорий, в которых компоновщик выполняет поиск автоматически, как описано в рецепте 1.5, цель можно объявить следующим образом.
lib
: <name>
;
Здесь
— это имя, которое должно быть передано компоновщику и которое может отличаться от реального имени файла, как обсуждалось в рецепте 1.5. Чтобы дать указание компоновщику искать в определенной директории, напишите
lib
: <name>
<search>
;
Сложное приложение может требовать установки вместе с несколькими дополнительными исполняемыми файлами и динамическими библиотеками, от которых оно зависит. Вместо того чтобы указывать эти файлы по отдельности, используйте функцию install-dependencies
, которая позволяет вам указать только главный исполняемый файл и тип зависимостей, которые должны быть установлены. В примере 1.13 требование <install-dependencies>on
включает функцию install-dependencies
, а требования <install-type>EXE
и <install- type>SHARED_LIB
говорят BoostBuild установить все зависимости, которые являются исполняемыми файлами или динамическими библиотеками. Другие возможные значения функции install-type
включают LIB
и IMPORT_LIB
.
Все три Jam-файла, используемые при сборке исполняемого файла
# jamfile для примера приложения
build-project hellobeatles ;
Правило build-project
просто говорит
Рецепты 1.5, 1.13 и 1.18.
1.11. Сборка статической библиотеки с помощью IDE
Вы хотите использовать IDE для сборки статической библиотеки из набора исходных файлов С++, таких как перечисленные в примере 1.1.