Не могу запустить BJAM для компиляции Boost Python учебник
Я пытаюсь следовать этому руководству по упаковке кода C++ для python для Windows. Я установил python. Загрузил последнюю версию boost(1_55). Сначала я запустил bootstrap.bat для сборки bjam.exe. Далее я настроил boost_1_55_0\tools\build\v2\user-config.jam для использования компилятора msvc10 и добавления пути к установке python. Теперь на основе урока:
Теперь мы готовы... Обязательно перейдите на libs/python/example/tutorial, где находится учебник "hello.cpp" и "Jamroot".
В заключение:
bjam
Попытка запустить bjam в этом каталоге выдает сообщение об ошибке: "bjam не распознается как внутренняя или внешняя команда". Что я здесь пропустил? Должен ли user-config.jam находиться в другом месте? Или bjam добавлен в системный путь?
ОБНОВИТЬ:
Хорошо. Спасибо @john. Мне пришлось добавить bjam в системный путь. Но теперь, запустив его,hello_ext.lib создается в \boost_1_55_0\libs\python\example\tutorial\bin\msvc-11.0\debug, но не DLL.Based в учебнике я должен получить файл DLL для расширения. Теперь я не уверен, как Python связывается с расширением. Но если я предполагаю, что он работает как C++, то он должен был бы связать с hello_ext.lib.But, если выполняется:
python hello.py
который содержит импортированный метод из расширения, среда выполнения Python аварийно завершает работу. Разве нет исчерпывающего руководства по этому рабочему процессу?
1 ответ
Это сработало для меня:
1.) Распакуйте boost_1_55_0.zip
2.) Подготовьтесь к использованию бинарников Boost Library
Перейдите в корневой каталог boost_1_55_0, откройте командную строку и введите следующие команды:
Bootstrap
3.) Найти user-config.jam:
Введите в командной строке следующее:
ECHO %HOMEDRIVE%%HOMEPATH%
4.) Если user-config.jam находится в вашей директории homedrive, пожалуйста, измените его следующим образом:
ВНИМАНИЕ:
Язык.jam оценивает "пробел" как разделение аргументов!
# -------------------
# MSVC configuration.
# -------------------
# Configure msvc (default version, searched for in standard locations and PATH).
# using msvc ;
# Configure specific msvc version (searched for in standard locations and PATH).
using msvc : 10.0 : C:\\app\\tools\\MSVisualStudio2010\\VC\\bin\\cl.exe ;
….
# ---------------------
# Python configuration.
# ---------------------
# Configure specific Python version.
# using python : 3.1 : /usr/bin/python3 : /usr/include/python3.1 : /usr/lib ;
using python
: 2.5 # Version
: C:\\app\\tools\\Python25\\python.exe # Python Path
: C:\\app\\tools\\Python25\\include # include path
: C:\\app\\tools\\Python25\\libs # lib path(s)
: <define>BOOST_ALL_NO_LIB=1
;
5.) Постройте библиотеки ПОСЛЕ конфигурации!
Перейдите в корневой каталог boost_1_55_0, откройте командную строку и введите следующие команды:
.\b2
6.) Скопируйте файл user-config.jam в \boost_1_55_0\libs\python\example\tutorial 7.) Перейдите далее в \ boost_1_55_0 \ stage \ lib \
Переименуйте libboost_python-vc100-mt-gd-1_55.lib в boost_python-vc100-mt-gd-1_55.lib и скопируйте его в
\boost_1_55_0\libs\python\example\tutorial
8.) Теперь у вас должны быть все эти файлы в каталоге \ boost_1_55_0 \ libs \ python \ example \ tutorial
hello.cpp
hello.py
user-config.jam
Jamroot
boost_python-vc100-mt-gd-1_55.lib
bjam.exe
9.) Откройте командную строку в \ boost_1_55_0 \ libs \ python \ example \ tutorial
И введите следующую команду:
bjam
10.) После успешного строительства..
Вы должны иметь этот файл в каталоге:
hello_ext.dll
переименуйте этот файл в:
hello_ext.pyd