在 macOS 上编译简单的 pybind 示例失败

Compilation of the simple pybind example fails on macos

我正在尝试在 pybind11 文档中实现 simple add function example。我使用的是默认 mac python3 (3.7.7),并已通过 pip3 install pybind11.

安装了 pybind11

有一个 example.cpp 文件:

#include <pybind11/pybind11.h>


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");
}

我正在尝试使用 the default command they give for macos:

进行编译
c++ -O3 -Wall -shared -std=c++11 -undefined dynamic_lookup `python3 -m pybind11 --includes` example.cpp -o example`python3-config --extension-suffix`

这会导致一系列错误,但是:

clang: error: unsupported option '--extension-suffix`'
clang: error: unknown argument: '-m'
clang: error: no such file or directory: '`python3'
clang: error: no such file or directory: 'pybind11'

我错过了什么?我是否错过了设置 pybind11 的步骤?

原来我不得不在我的路径中单独添加pybind11

export PYTHONPATH=$PYTHONPATH:/usr/local/include/python3.7m/pybind11/