CMake错误:Python libraries not found (FindPythonLibsNew.cmake)

在使用CMake配置包含pybind11库的项目时,你可能会遇到以下错误信息:

CMake Error at extern/pybind11/tools/FindPythonLibsNew.cmake:212 (message): Python libraries not foundCall Stack (most recent call first): E:/vcpkg/scripts/buildsystems/vcpkg.cmake:859 (_find_package) extern/pybind11/tools/pybind11Tools.cmake:45 (find_package) extern/pybind11/tools/pybind11Common.cmake:201 (include) extern/pybind11/CMakeLists.txt:188 (include)

这个错误表明CMake无法找到你的Python库。以下是几种解决方法:

1. 检查Python安装

首先,确保你的系统上已经正确安装了Python:

  • 打开终端或命令提示符,输入 python --version 并回车。- 如果Python已经安装,你将看到版本号。如果没有,请下载并安装Python。

2. 安装Python开发包

一些系统需要安装Python开发包才能使用Python库:

  • Linux: 通常使用包管理器安装,例如 sudo apt-get install python3-dev (Ubuntu/Debian) 或 sudo yum install python3-devel (CentOS/RHEL)。- macOS: 使用Homebrew安装,例如 brew install python。- Windows: 在安装Python时,确保勾选了“Add Python to PATH”选项,并选择安装“pip”和“tcl/tk”。

3. 指定Python库路径

如果Python库安装在非标准路径,你需要手动指定路径:

  • 在你的 CMakeLists.txt 文件中添加以下代码,将 /path/to/python/lib 替换为你的Python库实际路径:cmakeset(Python_LIBRARIES '/path/to/python/lib')

4. 检查CMake模块路径

确保CMake能够找到 FindPythonLibsNew.cmake 模块:

  • 检查 CMAKE_MODULE_PATH 变量是否包含该模块所在的目录。- 如果没有,可以使用以下代码添加路径,将 /path/to/cmake/modules 替换为实际路径:cmakeset(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} '/path/to/cmake/modules')

总结

通过以上步骤,你应该能够解决 'Python libraries not found' 错误。请根据你的实际情况选择合适的解决方法,并确保Python和Python开发包已正确安装,并且CMake能够找到所有必要的库和模

解决CMake错误:Python libraries not found (FindPythonLibsNew.cmake)

原文地址: https://www.cveoy.top/t/topic/0wX 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录