缺少Python27_d.lib的解决方法
2017-01-26 20:47
309 查看
在c++中调python函数时,出现了这个问题,python每个版本额解决方法类似。
在vs下引用伪造的”debug版本“可能出现链接问题
引用自己伪造的debug版Python27_d.lib、Python27_d.dll可能出现的问题:extmodule.obj : error LNK2019: unresolved external symbol __imp___Py_Dealloc referenced in function _PySwigObject_format extmodule.obj : error LNK2019: unresolved external symbol __imp___Py_NegativeRefcount referenced in function _PySwigObject_format extmodule.obj : error LNK2001: unresolved external symbol __imp___Py_RefTotal extmodule.obj : error LNK2019: unresolved external symbol __imp___PyObject_DebugFree referenced in function _PySwigObject_dealloc extmodule.obj : error LNK2019: unresolved external symbol __imp___PyObject_DebugMalloc referenced in function _PySwigObject_New extmodule.obj : error LNK2019: unresolved external symbol __imp__Py_InitModule4TraceRefs referenced in function _init_extmodule1
2
3
4
5
6
1
2
3
4
5
6
主要是因为 Py_DEBUG/Py_TRACE_REFS 引起, 修改 Python\include 下的 pyconfig.h, object.h
解决方法
修改 pyconfig.h修改
#ifdef _DEBUG # define Py_DEBUG #endif1
2
3
1
2
3
为
#ifdef _DEBUG //# define Py_DEBUG #endif1
2
3
1
2
3
修改
# ifdef _DEBUG # pragma comment(lib,"python27_d.lib") # else # pragma comment(lib,"python27.lib") # endif /* _DEBUG */1
2
3
4
5
1
2
3
4
5
为
# ifdef _DEBUG # pragma comment(lib,"python27.lib") # else # pragma comment(lib,"python27.lib") # endif /* _DEBUG */1
2
3
4
5
1
2
3
4
5
修改object.h
修改
#if defined(Py_DEBUG) && !defined(Py_TRACE_REFS) #define Py_TRACE_REFS #endif1
2
3
1
2
3
为
#if defined(Py_DEBUG) && !defined(Py_TRACE_REFS) // #define Py_TRACE_REFS #endif1
2
3
1
2
3
相关文章推荐
- 编译OpenCV缺少python27_d.lib的解决方法
- 缺少Python27_d.lib的解决方法
- 编译OpenCV缺少python27_d.lib的解决方法
- 缺少Python27_d.lib的解决方法
- 缺少Python27_d.lib的解决方法
- 解决编译pycaffe时候出现缺少Python27_d.lib的解决方案
- Python3: import matplotlib.pyplot as plt 缺少tkinter的解决方法和matplotlib实例(Fedora 27)
- python使用matplotlib缺少库文件的解决方法
- 关于perl缺少XML/LibXML.pm问题解决方法
- ubuntu14.04 server python3 安装matplotlib失败及解决方法
- 基于Linux系统中python matplotlib画图的中文显示问题的解决方法
- ubuntu 13.10 64位安装WineQQ2012缺少ia32-lib的解决方法
- 重启Zabbix服务提示缺少libmysqlclient.so.18解决方法
- python27和python36 共存时安装pip方法,解决python27文件夹下没有script文件方法
- python3.4环境下新建django应用失败报错"计算机中丢失python27.dll"的解决方法
- libpython2.7.so.1.0 cannot open的解决方法
- Python 3下Matplotlib画图中文显示乱码的解决方法
- python(27)requests 爬取网页乱码,解决方法
- Python安装matplotlib所需要的软件以及问题的解决方法
- libpython2.7.so.1.0 cannot open的解决方法