在 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/
我正在尝试在 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/