缺少Python27_d.lib的解决方法

缺少Python27_d.lib的解决方法

http://blog.csdn.net/junparadox/article/details/52704287

http://lib.csdn.net/base/python  

简介

最近在调用caffe的Python接口训练网络,需要进到caffe代码中调试,编译时需要用Python27_d.lib、Python27_d.dll。但是一般我们下载的都是release版的。怎么办?自己编译一个debug版本当然可以,但是很麻烦啊。很多网友解决方法是把Python27.lib、Python27.dll拷贝为Python27_d.lib、Python27_d.dll。 
  不过拷贝后可能出现一些错误。这里说一下我的解决方法。

在vs下引用伪造的”debug版本“可能出现链接问题

  引用自己伪造的debug版Python27_d.lib、Python27_d.dll可能出现的问题:

  1. extmodule.obj : error LNK2019: unresolved external symbol __imp___Py_Dealloc referenced in function _PySwigObject_format
  2. extmodule.obj : error LNK2019: unresolved external symbol __imp___Py_NegativeRefcount referenced in function _PySwigObject_format
  3. extmodule.obj : error LNK2001: unresolved external symbol __imp___Py_RefTotal
  4. extmodule.obj : error LNK2019: unresolved external symbol __imp___PyObject_DebugFree referenced in function _PySwigObject_dealloc
  5. extmodule.obj : error LNK2019: unresolved external symbol __imp___PyObject_DebugMalloc referenced in function _PySwigObject_New
  6. extmodule.obj : error LNK2019: unresolved external symbol __imp__Py_InitModule4TraceRefs referenced in function _init_extmodule

主要是因为 Py_DEBUG/Py_TRACE_REFS 引起, 修改 Python\include 下的 pyconfig.h, object.h

解决方法

  • 修改 pyconfig.h

#ifdef _DEBUG
# define Py_DEBUG
#endif

#ifdef _DEBUG
//# define Py_DEBUG
#endif

修改

# 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 */

修改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

原文地址:https://www.cnblogs.com/sggggr/p/12623317.html

时间: 2024-10-19 13:02:15

缺少Python27_d.lib的解决方法的相关文章

sde库缺少lib包解决方法

缺少lib包解决方法: 10.0                               配置ST_Geometry SDE安装后的类库: 修改listener.ora文件 修改tnsnames.ora文件 修改oracle用户的.profile文件,加入SDEHOME/lib路径 监听重启前状态(动态监听): 重启监听,重启后为静态监听 验证配置是否成功,打开pl/sql,输入select sde.st_astext(shape) from china进行测试. 配置成功.   10.1 

vc的环境变量配置和缺少mspdb60.dll的解决方法

vc的编译器是cl.exe,我们如果在vc中编译就不用配置环境,但是如果要在任何位置用命令提示符打开编译器cl.exe来编译程序,那么就要配置环境了. 下面我就讲讲vc的环境变量配置和缺少mspdb60.dll的解决方法. 1.环境变量配置:(配置的时候注意中英文的标点符号) 打开vc安装目录里面的这个路径:C:\Program Files (x86)\Microsoft Visual Studio\VC98,将里面的bin,include和lib这三个文件夹的路径配置到系统环境变量中的path

WAMP安装提示缺少 msvcr100.dll文件解决方法

WAMP安装提示缺少wamp msvcr100.dll文件解决方法 因为wamp基于vs c++2010开发,需要提前安装这个组件才可以正常运行 微软官方组件下载地址: 32位:http://www.microsoft.com/download/en/details.aspx?id=8328 64位:http://www.microsoft.com/download/en/details.aspx?id=13523 最新版WAMP可能需要安装vs c++ 2012 http://www.micr

无法读取配置节 system.serviceModel 因为它缺少节声明的解决方法

在Windows Server2008 R2中的IIS7中部署WCF服务时报出如题错误: HTTP 错误 500.19 - Internal Server Error无法访问请求的页面,因为该页的相关配置数据无效. 详细错误信息模块 IIS Web Core 通知 未知 处理程序 尚未确定 错误代码 0x80070032 配置错误 无法读取配置节"system.serviceModel",因为它缺少节声明. 解决办法:在"服务器管理器"的"功能"

重启Zabbix服务提示缺少libmysqlclient.so.18解决方法

在重启Zabbix3.2.7服务时,出现了以下错误 原因是缺少了mysql的库文件,提示没有那个文件或目录. 之前装的是mysql5.5版本的数据库,库路径为/usr/local/mysql55/lib/libmysqlclient.so.18,现在只需把库路径添加到/etc/ld.so.conf配置文件即可 vim /etc/ld.so.conf wq保存,然后执行ldconfig命令即可.

rpm方式安装gcc缺少依赖项的解决方法

使用rpm方式安装gcc时,有时会报缺少依赖项: libmpfr.so.1 is needed by cpp-4.4.4-13.el6.i686 libppl.so.7 is needed by cloog-ppl-0.15.7-1.2.el6.i686 libppl_c.so.2 is needed by cloog-ppl-0.15.7-1.2.el6.i686 这是因为缺少 mpfr-2.4.1-6.el6.***.rpm     ppl-0.10.2-11.el6.***.rpm 这两个

dpkg安装deb缺少依赖包的解决方法

[先贴出解决方案(基于Ubuntu)]: 使用dpkg -i   *.deb 的时候出现依赖没有安装 使用apt-get -f -y install  解决依赖问题后再执行dpkg安装deb包 =====================1.下面是遇到的依赖没有安装=========================== 问题 [email protected] ~/下载 $ sudo dpkg -i youdao-dict_1.1.0-0-ubuntu_amd64.deb [sudo] passw

JSON字符串key缺少双引号的解决方法

JSON字符串是key:value形式的字符串,正常key是由双引号括起来的. 但如果json字符串的key缺少双引括起来,则json_decode会失败. <?php /** 兼容key没有双引括起来的JSON字符串解析 * @param String $str JSON字符串 * @param boolean $mod true:Array,false:Object * @return Array/Object */ function ext_json_decode($str, $mode=

编译的 Ruby 2.3.0 缺少 openssl 支持的解决方法 (已解决)

我的系统是centos 7.5,已离线安装ruby-2.3.0,openssl-1.0.2l,rubygems-2.7.4 如下图: 但是在  gem sources -a http://gems.ruby-china.org/   时报错 Unable to require openssl, install OpenSSL and rebuild ruby (preferred) or use non-HTTPS sources 重新编译发现, make的输出中有 configuring op