Интеграция Python и C++ при помощи boost-python.

Первое что нам понадобится это сам boost качаем с офф сайта(ссыль) и Python 2.7 (ссыль).

Компиляцию будем проводить при помощи MinGW можно скачать как отдельно так и вместе с QT/Code::Blocks.

Разархивируем boost и правим файл bootstrap.bat.
Заменяем строчку set toolset=msvc на set toolset=gcc.

И выполняем батник(bootstrap.bat), можно открыть cmd и перетащить файлик туда (Drag&Drop).

Далее переходим в командной строке в папку с boost’ом (команда cd, переход на другой диск “D:”) и выполняем команду:

“bjam –with-python python-debugging=off threading=multi variant=release link=shared stage”

После выполнения компиляции загляним в папку “boost_1_47_0stagelib” там должны лежать два файла libboost_*.a и libboost_*.dll. Ок.

Создаем новый c++ проект.

Подключаем необходимые lib’ы. Если вы используете Code::Blocks то кликаем правой кнопкой по проекту и выбиаем “Build options…”, переходим на вкладку “Linker settings” и нажимаем “Add”. Нам необходимо добавить “Python27libslibpython27.a” и “BoostDirlibslibboost_python-mgw44-mt-1_47.dll.a”. 

Должно получиться примерно так:

python_cpp

Далее на вкладке “Search directories” добавляем пути к папке с boost и Python27include

python_cpp_2

Всё на этом настройка проекта закончена. Переходим к написанию кода.

Компилируем и запускаем. Если перед вами пустая консоль то всё ОК.

Пишем вот такую строчку

и нажимаем Enter. Замечу НЕ надо ставить точку с запятой после вызова функции
на экран должно вывестись 256!

python_cpp_3

512.5!
А теперь попробуем создать класс прямо в Python

5!

128!

На этом всё!

 

[jetpack_subscription_form]