Właśnie napisałem prosty plik wykonywalny C, aby sprawdzić, czy Python.h
działa, czy nie
#include<Python.h>
#include<stdio.h>
int main()
{
printf("this is a python header file included programm\n");
return 0;
}
Oczywiście niewiele to robi. Jednak gdy próbuję go skompilować, pojawia gcc
się błąd:
foo.c:1:19: fatal error: Python.h: No such file or directory.
Następnie sprawdziłem, czy pakiet python-dev został Python.h
zainstalowany, czy go nie używa locate
.
$locate Python.h
/usr/include/python2.7/Python.h
Jest dla mnie jasne, że mam Python.h
plik nagłówka w moim systemie. Jak mogę uruchomić mój plik wykonywalny?
Odpowiedzi:
Musisz zakwalifikować swoje dołączenie
Lub powiedz gcc, gdzie znaleźć Python.h za pomocą
źródło
Musisz podać GCC ścieżkę dołączania
Python.h
nagłówka. Można to zrobić za pomocą-I
flagi:Jest jednak lepszy sposób: użyj pkg-config :
Spowoduje to wyświetlenie flag, które należy przekazać do GCC w celu skompilowania aplikacji korzystających z nagłówków i bibliotek Pythona.
Podczas łączenia użyj danych wyjściowych tego polecenia, aby uwzględnić odpowiednie biblioteki:
Możesz nawet połączyć oba kroki z:
źródło
"gcc file.o -o program"