解決編譯pycaffe時候出現缺少Python27_d.lib的解決方案
阿新 • • 發佈:2019-01-25
問題描述
最近在使用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
然後就會得到如下結果:生成成功。