Acabo de escribir un simple ejecutable en C para verificar si Python.h
funciona o no
#include<Python.h>
#include<stdio.h>
int main()
{
printf("this is a python header file included programm\n");
return 0;
}
Obviamente, no hace mucho. Sin embargo, cuando trato de compilarlo gcc
me da un error:
foo.c:1:19: fatal error: Python.h: No such file or directory.
Luego verifiqué si el paquete python-dev se ha Python.h
instalado o no locate
.
$locate Python.h
/usr/include/python2.7/Python.h
Para mí está claro que tengo el Python.h
archivo de encabezado en mi sistema. ¿Cómo hago para que funcione mi ejecutable?
Respuestas:
Necesita calificar su inclusión
O dile a gcc dónde encontrar Python.h con el
fuente
Debe proporcionar a GCC la ruta de inclusión para el
Python.h
encabezado. Esto se puede hacer con la-I
bandera:Sin embargo, hay una mejor manera: use pkg-config :
Esto generará los indicadores que deben pasarse a GCC para compilar aplicaciones que usan los encabezados y bibliotecas de Python.
Al vincular, use la salida de este comando para incluir las bibliotecas apropiadas:
Incluso podría combinar ambos pasos con:
fuente
"gcc file.o -o program"