我试图#include <Python.h>
在我的 C++ 代码中,当我去编译我的代码时,我得到了这个错误:
fatal error LNK1104: cannot open file 'python33_d.lib'
我试图python33_d.lib
在我的计算机上找到包含在我的链接器依赖项中,但我找不到它。我已经能够找到python33.lib
。
在哪里可以找到python33_d.lib
,或者如何解决此问题?
我试图#include <Python.h>
在我的 C++ 代码中,当我去编译我的代码时,我得到了这个错误:
fatal error LNK1104: cannot open file 'python33_d.lib'
我试图python33_d.lib
在我的计算机上找到包含在我的链接器依赖项中,但我找不到它。我已经能够找到python33.lib
。
在哪里可以找到python33_d.lib
,或者如何解决此问题?
来自python 错误跟踪器的简单解决方案:
#ifdef _DEBUG
#undef _DEBUG
#include <python.h>
#define _DEBUG
#else
#include <python.h>
#endif
如果您需要调试版本(就像我在工作中所做的那样),可以自己构建库:
*_d.lib
用于调试构建。改为切换到发布版本。
如果您通过 python.org 上的安装程序安装 python,您可以通过在安装时选择“自定义安装”来告诉安装程序包含调试符号和二进制文件,例如 pythonXX_d.dll 文件(我认为它在第二个自定义页面上)。如果您对自己构建项目不是很精通(像我一样),这可能是最简单的解决方案。太糟糕了,我看不到使用 anaconda 发行版的任何方法。
打开 Python 安装程序(.exe) -- 修改 -- 下一步 -- 启用复选框Debug Symbols and Libs
如果您使用 Swig 生成 python 包装器,那么您可以定义宏 SWIG_PYTHON_INTERPRETER_NO_DEBUG。在这种情况下,它不会寻找 python**_d.lib