我在Windows平台上使用CMake和VCPkg在Visual Studio上创建了一个PyBind11项目。我正在 Python 中公开 C++ 功能。
我分别通过 vcpkg 安装了 pybind11_x64-windows 和 python3.10_x64-windows,并分别通过 Visual Studio 2019 Professional 安装了 CMake3.24.1。
我在项目的根目录中有必要的 CMakeLists.txt 文件。该项目在 Release 模式下正确构建,但在 Debug 模式下,我出现链接器错误:
LINK:致命错误LNK1104:无法打开文件“python310.lib”
我不明白,为什么Visual Studio在Debug模式下需要python310.lib而不是python310_d.lib。在 VisualStudio 中,当我检查“项目”->“属性”->“链接器”->“输入”->“附加依赖项”时,它正确指向 python310_d.lib。
我在谷歌上发现这篇文章似乎在某种程度上相关:
https://discourse.paraview.org/t/debug-build-fail-cannot-open-file-python310-lib/9000
但似乎没有明确的解决方案。
这是 VCPkg/CMake/Python 中的错误还是其他错误?有没有人有办法解决这个问题?
我在 python311 上遇到了同样的问题,并对此感到困惑。感谢您提供的链接,我明白这是因为自动链接,我添加
/NODEFAULTLIB: python313_d.lib
来抑制自动链接。