我正在使用Boost Python库来创建我的C++代码的python扩展.我希望能够从python中调用下面显示的C++代码中的'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);
}
Run Code Online (Sandbox Code Playgroud)
和python代码:
import hello_ext
print hello_ext.greet()
Run Code Online (Sandbox Code Playgroud)
我已经设法使用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加载失败
如何使用VS 2008构建正确的.pyd文件?