Dew*_*wfy 2 visual-studio-2010 boost-python python-3.x
我是否一个人试图使用以下组合:boost_1_45_0,MSVC 10,Python31?
我发现来自boost的基本样本(boost_1_45_0\libs\python\example\quickstart\embedding.cpp)既没有编译(我发现如何修复它,见下文)也没有工作.编译时间问题:
if (PyImport_AppendInittab("embedded_hello", initembedded_hello) == -1)
throw std::runtime_error("Failed to add embedded_hello to the interpreter's "
"builtin modules");
Run Code Online (Sandbox Code Playgroud)
我发现正确的名称不是initembedded_hello而是init_module_embedded_hello.所以我的第一个问题是我对这个重命名是对的吗?
第二个问题是SystemError: NULL result without error in PyObject_Call导入我声明的模块时:
from embedded_hello import *
Run Code Online (Sandbox Code Playgroud)
注释掉导入显示内部python的模块(如io)工作正常.那么第二个问题是导入的问题是什么?
任何帮助,将不胜感激!
对于Python 3,使用PyInit_embedded_hello而不是initembedded_hello.使用msvc9为我工作.
显然,quickstart\embedding.cpp尚未针对Python 3进行更新.看看pyhon/test/exec.cpp,这是类似的和最新的.
Msvc10使用与Python不同的C运行时库,这可能导致运行时崩溃.用于构建Python 2.6,2.7,3.1和3.2扩展的推荐编译器是msvc9,或者是针对vc90crt的编译器.
| 归档时间: |
|
| 查看次数: |
1213 次 |
| 最近记录: |