如何创建空工作boost :: python :: dict?

时间:2014-09-03 00:44:03

标签: c++ qt boost initialization boost-python

我解析了一个C ++项目,它为python编译为library.so。所以我无法在Qt creator IDE中调试它。为此,我使用可执行文件 main()

创建了单独的项目
int main()
{
    boost::python::dict whiteList;
    whiteList.has_key("blablabla");
    ...
    return 0;
}

在发布模式程序编译和工作不正确。但是在调试模式程序中,has_key()方法失败并显示错误窗口:

The inferior stopped because it received a signal from the Operating System.
Signal name :    SIGSEGV
Signal meaning : Segmentation fault

问题可能是:如何在不涉及python脚本的情况下,在boost::python::dict程序内正确创建和使用 C++

1 个答案:

答案 0 :(得分:2)

无论何时使用Python C API或Boost Python,都必须初始化Python:

Py_Initialize();

将其添加到main() et voila的顶部。