1. 程式人生 > >解決編譯pycaffe時候出現缺少Python27_d.lib的解決方案

解決編譯pycaffe時候出現缺少Python27_d.lib的解決方案

問題描述

最近在使用caffe呼叫python介面進行視覺化的時候,發現總是出現“no module named caffe”這個問題,經過查詢,好像是沒有編譯pycaffe,然後返回caffe-master/windows找到Caffe.sln。然後找到

對其右鍵重新生成(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

然後就會得到如下結果:

生成成功。