我解析了一个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++
?
答案 0 :(得分:2)
无论何时使用Python C API或Boost Python,都必须初始化Python:
Py_Initialize();
将其添加到main()
et voila的顶部。