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

Visual Studio中C++与Python集成作业出现LNK2001错误求助

解决C++集成Python时的LNK2001链接错误

你遇到的LNK2001错误是因为链接器无法找到Python C API函数的定义,即便配置了include和libs路径,也可能存在库未关联、位数不匹配或配置不一致的问题,以下是具体解决步骤:

1. 给链接器添加Python库依赖

  • 打开项目属性 → 链接器 → 输入 → 附加依赖项,添加对应版本的Python库文件,比如Python39.lib(Release版)或Python39_d.lib(Debug版),版本号要和你安装的Python完全一致。
  • 也可以直接在代码开头添加#pragma comment(lib, "Python39.lib"),强制链接指定库。

2. 确保Python位数与项目平台匹配

  • 你的项目当前是Win32(32位)配置,必须安装对应32位版本的Python;如果Python是64位,就把项目平台切换为x64。
  • 检查Python位数:打开命令提示符,输入python -c "import sys; print(sys.maxsize > 2**32)",返回True为64位,False为32位。

3. 匹配Release/Debug配置与Python库版本

  • Release模式只能链接不带_d后缀的Python Release库;Debug模式需要链接带_d后缀的Debug库(注意:Python默认安装包不含Debug库,需自行编译Python源码获取,或者暂时改用Release模式调试)。
  • 同时在项目属性 → C/C++ → 预处理器 → 预处理器定义中,Debug模式添加Py_DEBUG宏,Release模式移除该宏。

4. 验证VC++库目录配置正确性

  • 打开项目属性 → VC++目录 → 库目录,确认已添加Python安装目录下的libs文件夹路径,比如C:\Python39\libs,确保路径无误且未遗漏。

你遇到的错误信息:

Build started...
1>------ Build started: Project: ModuleSixAssignment, Configuration: Release Win32 ------
1>Source.obj : error LNK2001: unresolved external symbol __imp__PyImport_ImportModule
1>Source.obj : error LNK2001: unresolved external symbol __imp__Py_BuildValue
1>Source.obj : error LNK2001: unresolved external symbol __imp__Py_Finalize
1>Source.obj : error LNK2001: unresolved external symbol __imp___Py_Dealloc
1>Source.obj : error LNK2001: unresolved external symbol __imp__Py_Initialize
1>Source.obj : error LNK2001: unresolved external symbol __imp__PyModule_GetDict
1>Source.obj : error LNK2001: unresolved external symbol __imp__PyObject_GetAttrString
1>Source.obj : error LNK2001: unresolved external symbol __imp__PyDict_GetItemString
1>Source.obj : error LNK2001: unresolved external symbol __imp__PyObject_CallObject
1>Source.obj : error LNK2001: unresolved external symbol __imp__PyImport_Import
1>Source.obj : error LNK2001: unresolved external symbol __imp__PyCallable_Check
1>Source.obj : error LNK2001: unresolved external symbol __imp___PyLong_AsInt
1>Source.obj : error LNK2001: unresolved external symbol __imp__PyErr_Print
1>Source.obj : error LNK2001: unresolved external symbol __imp__PyUnicode_FromString
1>C:\Users\alhim\OneDrive\Documents\VisualStudio\ModuleSixAssignment\Release\ModuleSixAssignment.exe : fatal error LNK1120: 14 unresolved externals
1>Done building project "ModuleSixAssignment.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 06:54:35