欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

解决编译pycaffe时候出现缺少Python27_d.lib的解决方案

程序员文章站 2022-07-12 15:30:23
...

问题描述

最近在使用caffe调用python接口进行可视化的时候,发现总是出现“no module named caffe”这个问题,经过查询,好像是没有编译pycaffe,然后返回caffe-master/windows找到Caffe.sln。然后找到

解决编译pycaffe时候出现缺少Python27_d.lib的解决方案

对其右键重新生成(E),经过短暂的等待,出现了问题,

问题描述:缺少Python27_d.lib。

至于为啥是Python27,不是Python36,是因为我搭建Caffe框架的时候,使用了anaconda2而不是anaconda3,虽然我的系统现在是anaconda2和anachonda3并存。然后做如下修改就可以消除这个错误

解决办法

共需要修改三个地方

修改一:

找到anaconda2的安装目录,打开anaconda2/include/object.h

打开object.h

做如下修改:

修改:

#if defined(Py_DEBUG) && !defined(Py_TRACE_REFS)
#define Py_TRACE_REFS
#endif

为:

#if defined(Py_DEBUG) && !defined(Py_TRACE_REFS)
//#define Py_TRACE_REFS
#endif

修改二

还是在anaconda2/include/pyconfig.h

打开pyconfig.h文件

做如下修改:

修改:

ifdef _DEBUG
#				pragma comment(lib,"python27_d.lib")
#			else
#				pragma comment(lib,"python27.lib")
#			endif /* _DEBUG */
为:

ifdef _DEBUG
#				pragma comment(lib,"python27.lib")
#			else
#				pragma comment(lib,"python27.lib")
#			endif /* _DEBUG */

修改三

还是刚才的pyconfig.h文件

作如下修改:

修改:

#ifdef _DEBUG
#	define Py_DEBUG
#endif
为:

#ifdef _DEBUG
//#	define Py_DEBUG
#endif

修改完上述内容,再次重新生成pycaffe

解决编译pycaffe时候出现缺少Python27_d.lib的解决方案

然后就会得到如下结果:

解决编译pycaffe时候出现缺少Python27_d.lib的解决方案

生成成功。