I started using pybind11 (on Ubuntu 16.04 with Python 2.7).
To test the waters, I created a do-nothing wrapper around my C ++ library. Alas, compilation cannot find Python.h :
$ g++ -std=c++0x -fPIC -pedantic -g -Wno-missing-field-initializers -Wno-switch -Wno-multichar -ftree-vectorize -ftree-vectorize -mssse3 backend.h uvc-v4l2.cpp wrap.cpp -o wrap.so backend.h:4:9: warning: #pragma once in main file #pragma once ^ In file included from /usr/local/include/pybind11/pytypes.h:12:0, from /usr/local/include/pybind11/cast.h:13, from /usr/local/include/pybind11/attr.h:13, from /usr/local/include/pybind11/pybind11.h:36, from wrap.cpp:1: /usr/local/include/pybind11/common.h:72:20: fatal error: Python.h: No such file or directory #include <Python.h> ^ compilation terminated.
However, it looks like I have a file:
$ find /usr -name Python.h /usr/include/python2.7/Python.h /usr/include/python3.5m/Python.h
Which (path?) Should be fixed, so g++ can find Python.h ?
Notes:
$ apt list | grep -iE -- '^python.-dev|^python-dev' WARNING: apt does not have a stable CLI interface. Use with caution in scripts. python-dev/xenial,now 2.7.11-1 amd64 [installed] python3-dev/xenial,now 3.5.1-3 amd64 [installed] $ dpkg -S Python.h libpython2.7-dev:amd64: /usr/include/python2.7/Python.h libpython3.5-dev:amd64: /usr/include/python3.5m/Python.h $ dpkg -L python2.7-dev /. /usr /usr/bin /usr/share /usr/share/man /usr/share/man/man1 /usr/share/doc /usr/share/doc/python2.7 /usr/share/doc/python2.7/x86_64-linux-gnu /usr/share/doc/python2.7/x86_64-linux-gnu/test_results.gz /usr/share/doc/python2.7/x86_64-linux-gnu/pybench.log.gz /usr/share/doc/python2.7/gdbinit.gz /usr/share/doc/python2.7/HISTORY.gz /usr/share/doc/python2.7/README.valgrind.gz /usr/share/doc/python2.7/README.maintainers /usr/bin/python2.7-config /usr/share/man/man1/python2.7-config.1.gz /usr/share/doc/python2.7-dev
source share