Я использую библиотеку Boost Python для создания расширений python для моего кода на С++. Я хотел бы иметь возможность вызывать из python функцию "greet" из кода С++, показанного ниже:
#include <boost/python/module.hpp>
#include <boost/python/def.hpp>
char const* greet()
{
return "hello, world";
}
BOOST_PYTHON_MODULE(hello_ext)
{
using namespace boost::python;
def("greet", greet);
}
И код python:
import hello_ext
print hello_ext.greet()
Мне удалось это сделать, используя bjam (hello_ext.pyd сгенерирован, и он работает хорошо), но теперь я хотел бы его создать с помощью Visual Studio 2008. Приветствуется hello.dll(но не hello_ext. dll или любой .pyd). После вызова моего кода на Python я получаю сообщение об ошибке:
ImportError: нет модуля с именем hello_ext.
После переименования hello.dll на hello.pyd или hello_ext.pyd, я получаю еще одну потерю загрузки ImportError: Dll
Как я могу построить правильный .pyd файл с помощью VS 2008?