Szukając rozwiązania problemu węgierskiego , znalazłem ten link GitHub .
Przejrzałem readme.md
plik i wykonałem wszystko, co tam opisano. Po skopiowaniu hungarian.so
do mojego katalogu roboczego, kiedy próbowałem skompilować hungarian.cpp
przy użyciu make hungarian
, otrzymałem następujące dane wyjściowe:
anupam@JAZZ:~/Python/hungarian-master$ make hungarian
g++ hungarian.cpp -o hungarian
hungarian.cpp:7:20: fatal error: Python.h: No such file or directory
#include "Python.h"
^
compilation terminated.
make: *** [hungarian] Error 1
Znalazłem to powiązane pytanie na temat przepełnienia stosu , ale odpowiedź nie działała dla mnie.
Jestem bardzo nowy w GitHub, nie wiem jak dodać moduły g++
. Czy ktoś może mi w tym pomóc i co dalej?
sudo apt-get install python-dev
nie działało?Odpowiedzi:
Po przejrzeniu https://github.com/hrldcpr/hungarian/blob/master/hungarian.cpp wydaje się, że potrzebujesz obu:
Więc zainstaluj następujące pakiety:
Aby zidentyfikować brakujące pakiety (te, które zawierają nagłówki), spójrz na packages.ubuntu.com .
źródło
python-dev
masz terazlibpython2.7-dev
tak samo zależnąpython-dev
. Problem rozwiązany, prawda?dpkg-query -L libpython2.7-dev | grep Python.h
W przypadku Ubuntu 15.10 i Python 3:
źródło
Jest to kod pyton rozszerzenie z C . Nie musisz używać
make
. Sam Python zajmie sięcpp
kompilacją kodu za pomocą odpowiednich flag.Najpierw musisz mieć pliki nagłówkowe i bibliotekę statyczną. Zainstaluj je jako
Teraz wykonaj te polecenia, aby wykonać je
example.py
w kodzie.źródło
hungarian.cpp
i przykład do wykonania jakiejś podstawowej funkcji w nimeample.py
. Jeśli potrzebujesz więcej, być może będziesz musiał napisać własny kod.