c/c++ 与Python 混合编程环境搭建说明
1.库文件添加
在vs--c/c++--附加包含文件中添加目;链接中也要添加,:将python中的include,libs二个目录添加进来。对于Python,没有调试库,可直接将运行库复制一份,名称后面加上_d即可。或者修改pyconfig.h 中的 pragma comment(lib,"python35_d.lib"),去掉调_d也可以。
2.一些宏定义冲突 slots。
python的object.h中 slots与Qt冲突。
typedef struct{
const char* name;
int basicsize;
int itemsize;
unsigned int flags;
#undef slots //这里取消slots宏定义
PyType_Slot *slots; /* terminated by slot==0. */ //换一个名字即可
} PyType_Spec;
3.python脚本一些问题说明
脚本名称不要使用test.py,这可能会使得PyImport_ImportModule加载返回是Null。
脚本中不要使用print命令,这可能导致与c/c++冲突PyDict_GetItemString或者PyObject_GetAttrString返回null失败