我解析一个C++项目,该项目编译为python的library.so
。所以我不能在Qt Creator IDE中调试它。为此,我使用可执行文件main()创建了一个单独的项目:
int main()
{
boost::python::dict whiteList;
whiteList.has_key("blablabla");
...
return 0;
}
在 Release模式下,程序会编译并无法正常工作。但是在 Debug模式下,程序在带有错误窗口的
has_key()
方法中失败:The inferior stopped because it received a signal from the Operating System.
Signal name : SIGSEGV
Signal meaning : Segmentation fault
可能的问题是:如何仅在
boost::python::dict
程序内部纯净地正确创建和使用C++
而又不涉及python脚本? 最佳答案
每当使用Python C API或Boost Python时,都必须初始化Python:
Py_Initialize();
将其添加到
main()
和voila的顶部。关于c++ - 如何创建空的工作boost::python::dict?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25634523/