在学习C++调用python的过程中发现,和python不一样要想实现debug必须调用debug的包,而默认python安装是release的包,经过安装编译等踩坑操作后发现以下操作可以直接使用
直接将release的
python310.lib
复制下改个名字成python310_d.lib
就能用
但是会报以下错误
无法解析的外部符号 __imp__Py_NegativeRefcount,函数 _Py_DECREF 中引用了该符号
实际问题在于debug与release差异造成的,造成差异的函数来自于pyconfig.h
、object.h
以下两种方法都能解决这种问题:
#ifndef _DEBUG
...
出现异常的关键代码
...
#endif
修改源码
#ifdef _DEBUG
//# define Py_DEBUG
#endif
#if defined(Py_DEBUG) && !defined(Py_REF_DEBUG)
//# define Py_REF_DEBUG
#endif