编译OpenCV缺少python27_d.lib的解决方法

来源:互联网 发布:网络代理app软件 编辑:程序博客网 时间:2024/06/06 19:19

错误 24error LNK1104: 无法打开文件“python27_d.lib” C:\OpenCV\VS2013_64\modules\python\LINK opencv_python


一个妥协的方法是注释掉会使用python27_d.lib部分的代码,替换为使用python27.lib


具体做法如下:

在OpenCV项目的bindings中的opencv_python项目中,点击“外部依赖项”,在其中找到pyconfig.h和object.h文件:

pyconfig.h中

#ifdef _DEBUG#define Py_DEBUG#endif
修改为:

#ifdef _DEBUG//#define Py_DEBUG#endif

/* For an MSVC DLL, we can nominate the .lib files used by extensions */#ifdef MS_COREDLL#ifndef Py_BUILD_CORE /* not building the core - must be an ext */#if defined(_MSC_VER)/* So MSVC users need not specify the .lib file intheir Makefile (other compilers are generallytaken care of by distutils.) */#ifdef _DEBUG#pragma comment(lib,"python27_d.lib")#else#pragma comment(lib,"python27.lib")#endif /* _DEBUG */#endif /* _MSC_VER */#endif /* Py_BUILD_CORE */#endif /* MS_COREDLL */
修改为

/* For an MSVC DLL, we can nominate the .lib files used by extensions */#ifdef MS_COREDLL#ifndef Py_BUILD_CORE /* not building the core - must be an ext */#if defined(_MSC_VER)/* So MSVC users need not specify the .lib file intheir Makefile (other compilers are generallytaken care of by distutils.) */#ifdef _DEBUG#pragma comment(lib,"python27.lib")#else#pragma comment(lib,"python27.lib")#endif /* _DEBUG */#endif /* _MSC_VER */#endif /* Py_BUILD_CORE */#endif /* MS_COREDLL */
object.h中


/* Py_DEBUG implies Py_TRACE_REFS. */#if defined(Py_DEBUG) && !defined(Py_TRACE_REFS)#define Py_TRACE_REFS#endif
修改为

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


保存之后,再次编译就成功啦!





原创粉丝点击