You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Visual Studio 2017下C++(MFC)嵌入Python出现LNK1104链接错误求助

解决LNK1104无法打开'include.obj'的问题

你的问题根源非常明确:你错误地把Python的头文件目录(include)加到了链接器的「附加依赖项」里。链接器在这个选项里要找的是具体的.lib库文件,而不是目录,所以它会把你输入的include路径当成一个要链接的.obj文件去查找,自然找不到,就抛出了LNK1104错误。

下面是正确的配置步骤,一步步来修正:

第一步:清理错误配置

打开项目属性,找到「链接器 -> 输入 -> 附加依赖项」,把里面的C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\include路径彻底删掉——这个地方绝对不能放头文件目录。

第二步:正确配置各环节

1. VC++ 目录配置

  • 包含目录:添加C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\include
    这是给C++编译器找头文件用的,确保#include <Python.h>能被正确找到。
  • 库目录:添加C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\libs
    告诉链接器去哪里找Python的库文件。

2. C/C++ 常规配置

  • 附加包含目录:可以添加和VC++目录里一样的include路径(和上面的包含目录作用重复,二选一或者都加都没问题,不冲突)。

3. 链接器 常规配置

  • 附加库目录:添加C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\libs
    和VC++目录的库目录作用重复,同样二选一即可,主要是确保链接器能定位到库文件。

4. 链接器 输入配置

  • 附加依赖项:这里要添加具体的Python库文件名,比如python36.lib(对应你的Python36_64版本)。
    注意:
    • 如果是Debug模式编译,建议用调试版库python36_d.lib(如果找不到这个文件,可能需要安装带调试符号的Python版本,或者临时用Release版库,但调试时可能会有问题);
    • 因为你已经在库目录里指定了libs路径,这里只需要写库文件名,不用写完整路径。

额外注意事项

  • 平台匹配:你的Python是64位的(Python36_64),所以必须把项目的平台设置为x64,如果是x86平台,链接64位库肯定会出错。
  • 路径检查:确保所有配置的路径没有拼写错误,比如Program Files (x86)不要写成Program Files,路径里的空格VS会自动处理,不用手动加引号。
  • 验证配置:配置完成后,先尝试编译一个简单的包含#include <Python.h>的代码,确认头文件能被正确包含,再尝试调用Python的API,逐步排查问题。

内容的提问来源于stack exchange,提问作者user14092875

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 00:47:30