python310_d.lib导致无法解析的外部符号的异常
2023-12-14 10:59:10
问题描述
在学习C++调用python的过程中发现,和python不一样要想实现debug必须调用debug的包,而默认python安装是release的包,经过安装编译等踩坑操作后发现以下操作可以直接使用
直接将release的
python310.lib
复制下改个名字成python310_d.lib
就能用
但是会报以下错误
无法解析的外部符号 __imp__Py_NegativeRefcount,函数 _Py_DECREF 中引用了该符号
解决方案
实际问题在于debug与release差异造成的,造成差异的函数来自于pyconfig.h
、object.h
以下两种方法都能解决这种问题:
- debug模式下直接不用,在cpp代码中加入
#ifndef _DEBUG
...
出现异常的关键代码
...
#endif
-
修改源码
- pyconfig.h
#ifdef _DEBUG //# define Py_DEBUG #endif
- object.h
#if defined(Py_DEBUG) && !defined(Py_REF_DEBUG) //# define Py_REF_DEBUG #endif
文章来源:https://blog.csdn.net/qq_26095375/article/details/134986930
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!