我正在尝试遵循在c++中使用pybind11嵌入python的简单示例,如这页面所示。然而,当试图使用cmake构建解决方案时,我总是收到一个错误:
由于没有在CMAKE_MODULE_PATH中提供"Findpybind11.cmake“,该项目要求CMake查找由"pybind11”提供的包配置文件,但CMake没有找到。 无法找到"pybind11“提供的具有下列任何名称之一的包配置文件: pybind11Config.cmake pybind11 11-config.cmake
我的桌面上有一个名为pybindtest的文件夹,其中包括上面链接中描述的CMakeLists.txt和main.cpp,以及我创建的构建文件夹。在build文件夹中,我尝试了以下几行都没有效果(在Powershell 7上运行):
cmake ..
cmake .. -Dpybind11_DIR=C:/Users/ben.wolfley/Anaconda3/Library/share/cmake/pybind11/pybind11Config.cmake
cmake .. -DCMAKE_MODULE_PATH=C:/Users/ben.wolfley/Anaconda3/Library/share/cmake/pybind11我使用pybind11安装了conda install pybind11,pybind11Config.cmake在C:\Users\ben.wolfley\Anaconda3\Library\share\cmake\pybind11中
发布于 2021-12-18 12:10:58
在没有Anaconda的情况下,如果有人有相同的问题,比如直接使用pip pybind11或手动克隆安装,这两者都会在我的例子中造成问题。用git手动安装pybind11没有安装config pybind11Config.cmake,尽管有一个tools/pybind11Config.cmake.in文件,但我无法将其转换为正确的pybind11Config.cmake。
使用pip安装pybind11 global解决了我的问题,并自动卸载了手动git安装:
pip install "pybind11[global]"它像Anaconda一样安装了适当的config,同时安装了pybind11和pybind11-global。
发布于 2020-08-04 21:29:14
感谢齐瓦列夫为我指明了正确的方向。以下命令发挥了作用:
cmake .. -G "Visual Studio 15 2017" -A x64 `
-Dpybind11_DIR=C:/Users/ben.wolfley/Anaconda3/Library/share/cmake/pybind11/我指向的是.cmake文件,而不是文件的目录。为了使代码工作,我还必须指定编译器。
发布于 2021-10-19 06:50:20
在CMakeLists.txt中添加以下内容:
```cmake设置pybind11 dir
set(pybind11_DIR /User/Caleb/Softwares/pybind11 11)
find_package(pybind11必需)
https://stackoverflow.com/questions/63254584
复制相似问题