Не могу запустить 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
Другие вопросы по тегам