LNK1104 无法打开文件'python39_d.lib'
Posted
技术标签:
【中文标题】LNK1104 无法打开文件\'python39_d.lib\'【英文标题】:LNK1104 cannot open file 'python39_d.lib'LNK1104 无法打开文件'python39_d.lib' 【发布时间】:2021-02-11 20:46:27 【问题描述】:#include "C:\Users\user\appdata\local\programs\python\Python39\include\Python.h"
int main()
PyObject* pInt;
Py_Initialize();
PyRun_SimpleString("print('Hello World from Embedded Python!!!')");
Py_Finalize();
我已尝试修复此错误,阅读了 this 和 this,但我仍然遇到相同的错误。此外,当我使用 #include <Python.h>
而不是 "C:\Users\user\appdata\local\programs\python\Python39\include\Python.h"
时,我会收到此错误:cannot open source file "Python.h"
【问题讨论】:
你是如何编译这段代码的?你是在告诉编译器在哪里可以找到 python 头文件和库吗?请出示minimal reproducible example @AlanBirtles 这是整个代码。 当您询问编译器和链接器问题时,minimal reproducible example 的一部分是您的编译器和链接器命令 包含问题看起来您需要设置编译器的包含路径。并且链接问题看起来像您没有将包含 python39_d.lib 的文件夹添加到链接器正在寻找库的目录中。 【参考方案1】:解决方案:
-
对我来说最简单的方法是创建一个重复的
python39.lib
并将第二个副本重命名为 python39_d.lib
。
python39_d.lib
的 pragma
存在于 pyconfig.h
中,可以编辑为 python39.lib
。
【讨论】:
【参考方案2】:我在 Visual Studio Community 2019 中遇到了同样的错误。 python39_d.lib 仅用于调试,而不是 python39.lib
我只是将 Visual 置于发布模式,错误就消失了。
请注意,我的 Python 本地目录中没有 lib python39_d.lib。
【讨论】:
【参考方案3】:python库python3x_d.lib是python库的调试版本,它是一个可选组件。除非您在 python 安装期间明确启用(通过勾选复选框)“Download debug binaries”选项,否则它不会被安装。简单的选择可能是重新安装 python 并标记“下载调试二进制文件”选项检查。使用调试标志从其源代码构建 Python 是另一种选择,为此付出了巨大的努力。如果您使用的是 Anaconda,我不知道您可以使用哪个选项,我还没有找到这样的选项(实际上我正在使用 anaconda 寻找这样的选项)。
【讨论】:
【参考方案4】:我遇到了同样的问题,将带有 python39_d.lib 的 lib 文件夹添加到“库目录”
【讨论】:
以上是关于LNK1104 无法打开文件'python39_d.lib'的主要内容,如果未能解决你的问题,请参考以下文章
错误 1 错误 LNK1104:无法打开文件 'opencv_calib3d2413d.obj'
错误LNK1104:无法打开文件'Debug MyProjectLib.lib'
Qt Creator 链接器错误:LNK1104:无法打开文件“opencv_core249d.lib”
链接:致命错误 LNK1104:无法打开文件“opencv_calib3d245d.lib”(OpenCV 2.4.9)