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.libpython39_d.libpragma 存在于 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'的主要内容,如果未能解决你的问题,请参考以下文章

LNK1104:无法打开文件'mfc90.lib“

错误 1 ​​错误 LNK1104:无法打开文件 'opencv_calib3d2413d.obj'

致命错误LNK1104:无法打开文件'gdi32.lib'

错误LNK1104:无法打开文件'Debug MyProjectLib.lib'

Qt Creator 链接器错误:LNK1104:无法打开文件“opencv_core249d.lib”

链接:致命错误 LNK1104:无法打开文件“opencv_calib3d245d.lib”(OpenCV 2.4.9)