![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
No-Install QuickstartBoost , Boost.Python , Chapter 1. Building and Testing
|
![]() |
Note |
---|---|
Конечно, можно использовать другие системы сборки для создания Boost. Python и его расширения официально не поддерживаются Boost. Более того99% всех “ Я не могу построить Boost. Python” проблемы возникают при попытке использовать другую систему сборкибез предварительного выполнения указаний. Если вы хотите использовать другую систему в любом случае, мы предлагаем вам следовать этим инструкциям, а затем вызвать< < Варианты сброса команд сборки, которые он выполняет, в файл, чтобы вы могли видеть, что ваша альтернативная система сборки должна делать. |
1. Get Boost; см. разделы 1 и 2 The BoostGetting Started Guide.
2. Получить<bjam
>драйвер сборки. См. раздел 5 «Повышение»Руководство по запуску.
3. cd в каталог<example/quickstart/
>вашего Роста. Установка Python, которая содержит небольшой пример проекта.
4.Призывайте<bjam
>. Замените “<stage
>“ аргумент из примерного вызова из раздела 5 Руководства для начинающихGetting Started Guideна “<test
>,“ для построения всех тестовых целей. Также добавьте аргумент “<--verbose-test
>” чтобы увидеть результат, генерируемый тестами при их запуске. В Windows вызов<bjam
>может выглядеть примерно так:
C:\\...\\quickstart> bjam toolset=msvc --verbose-test test
В случае с Unix, возможно,
.../quickstart$ bjam toolset=gcc --verbose-test test
Если вы успешно выполнили эту процедуру, вы создадите модуль расширения под названием<extending
>и протестируете его, запустив скрипт Python под названием<test_extending.py
>. Вы также создадите и запустите простое приложение под названием<embedding
>, которое встраивает питон.
Если вы видите много сообщений об ошибках компилятора и / или линкера, это, вероятно, потому, что Boost. Build испытывает трудности с поиском установки Python. Возможно, вы захотите передать<--debug-configuration
>опцию<bjam
>в первые несколько раз, когда вы взываете к ней, чтобы убедиться, что Boost. Build правильно определяет местоположение всех частей вашей установки Python. Если это не так, подумайте о настройке. Постройте, как описано ниже.
Если у вас все еще есть проблемы, кто-то из следующих списков рассылки может помочь:
Радуйся! Если вы новичок в Boost. На данный момент было бы неплохо игнорировать проблемы с построением на некоторое время и сосредоточиться на изучении библиотеки, пройдя черезУчебники, возможно, некоторые изСправочное руководство, опробовав то, что вы узнали об API, изменив проект быстрого запуска.
Если вы хотите сохранить свой модуль расширения навсегда в одном исходном файле под названием<extending.cpp
>, внутри вашего Boost. Дистрибутив Python и импортируйте его навсегда<extending
>, тогда вы можете остановиться здесь. Тем не менее, вполне вероятно, что вы захотите внести несколько изменений. Есть несколько вещей, которые вы можете сделать без необходимости изучатьBoost.Buildв глубине.
Проект, который вы только что построили, указан в двух файлах в текущем каталоге:<boost-build.jam
>, который сообщает<bjam
>, где он может найти интерпретируемый код системы сборки Boost, и<Jamroot
>, который описывает цели, которые вы только что построили. Эти файлы сильно комментируются, поэтому их легко изменить. Позаботьтесь о сохранении белого пространства. Такие пунктуации, как<;
>, не будут признаваться как задуманные<bjam
>, если они не окружены белым пространством.
Вы, вероятно, захотите скопировать этот проект в другом месте, чтобы вы могли изменить его, не изменяя дистрибутив Boost. Чтобы сделать это, просто
a. скопировать весь каталог<example/quickstart/
>в новый каталог.
Б. В новых копиях<boost-build.jam
>и<Jamroot
>найдите относительный путь в верхней части файла, который четко обозначен комментарием, и отредактируйте этот путь так, чтобы он ссылался на тот же каталог, что и в каталоге<example/quickstart/
>.
Например, если вы переместили проект с</home/dave/boost_1_34_0/libs/python/example/quickstart
>на</home/dave/my-project
>, вы могли бы изменить первый путь в<boost-build.jam
>.
../../../../tools/build/src
то
/home/dave/boost_1_34_0/tools/build/src
Изменить первый путь<Jamroot
>
../../../..
то
/home/dave/boost_1_34_0
Имена дополнительных исходных файлов, участвующих в создании вашего модуля расширения или приложения для встраивания, могут быть указаны в<Jamroot
>рядом с<extending.cpp
>или<embedding.cpp
>соответственно. Просто не забудьте оставить белое пространство вокруг каждого имени файла:
… file1.cpp file2.cpp file3.cpp …
Естественно, если вы хотите изменить имя исходного файла, вы можете сказать Boost. Постройте его, изменив название<Jamroot
>.
Название модуля расширения определяется двумя вещами:
Jamroot
>сразу после<python-extension
>.BOOST_PYTHON_MODULE
>в<extending.cpp
>.Чтобы изменить название модуля расширения с<extending
>на<hello
>, вы бы редактировали<Jamroot
>, изменяя
python-extension extending : extending.cpp ;
то
python-extension hello : extending.cpp ;
И вы бы редактировали расширение. pp, меняется
BOOST_PYTHON_MODULE(extending)
то
BOOST_PYTHON_MODULE(hello)
Статья No-Install Quickstart раздела Boost.Python Chapter 1. Building and Testing может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: Chapter 1. Building and Testing ::
реклама |