Я просто написал простой исполняемый файл C, чтобы проверить, Python.h
работает или нет
#include<Python.h>
#include<stdio.h>
int main()
{
printf("this is a python header file included programm\n");
return 0;
}
Очевидно, что это не так много. Тем не менее, когда я пытаюсь скомпилировать его, gcc
он выдает ошибку:
foo.c:1:19: fatal error: Python.h: No such file or directory.
Затем я проверил, установлен ли пакет python-devPython.h
или не используется locate
.
$locate Python.h
/usr/include/python2.7/Python.h
Мне ясно, что у меня есть Python.h
файл заголовка в моей системе. Как мне заставить работать мой исполняемый файл?
Ответы:
Вы должны квалифицировать свое включение
Или скажите gcc, где найти Python.h с
источник
Вы должны предоставить GCC путь включения для
Python.h
заголовка. Это можно сделать с помощью-I
флага:Тем не менее, есть лучший способ: используйте pkg-config :
Это выведет флаги, которые должны быть переданы в GCC для компиляции приложений, которые используют заголовки и библиотеки Python.
При связывании используйте выходные данные этой команды, чтобы включить соответствующие библиотеки:
Вы можете даже объединить оба шага с:
источник
"gcc file.o -o program"