安装pybind11时cmake出现问题

Trouble with cmake when install pybind11

我正在尝试开始使用 pybind11,遵循 documentation。我已经使用 pip 安装了 pybind11。目录的位置是:

~/anaconda3/lib/python3.6/site-packages/pybind11

下一步是编译测试用例。根据文档,我应该 运行

mkdir build

cd build

cmake ..

make check -j 4

但是,当 运行ning cmake .. 我得到错误 CMake Error: The source directory "/home/MyUserName/anaconda3/lib/python3.6/site-packages/pybind11" does not appear to contain CMakeLists.txt。所以我似乎没有文件 CMakeLists.txt 在由 pip 安装创建的 pybind11 目录中。

知道这里出了什么问题吗?

当您使用 pip 安装 pybind11 时,您将只获得结果而不是 pybind 的源代码(py 文件、包含文件...)。

为了 运行 这个例子,你必须检查来源 git clone --recursive https://github.com/pybind/cmake_example.git 然后 运行 根据文档的命令。

我也在为同样的问题苦苦挣扎。 但是,我确实开始将 pybind11 作为子模块包含在内。 尝试 运行“cmake ..”时,我收到以下错误代码:

CMake Error: The source directory "C:/Users/XXXXX/Documents/GitHub/MT" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.

(我正在 Windows 机器上工作,文件夹是 GitHub 的一部分,Hello World 程序可以使用 C++ 工作。)

在漫长的 运行 尝试 运行 以下最小代码示例中:

#include <pybind11>

int add(int i, int j) {
    return i + j;
}

PYBIND11_MODULE(example, m) {
    m.doc() = "pybind11 example plugin"; // optional module docstring

    m.def("add", &add, "A function which adds two numbers");
}