Acabei de escrever um simples executável C para verificar se Python.h
está funcionando ou não
#include<Python.h>
#include<stdio.h>
int main()
{
printf("this is a python header file included programm\n");
return 0;
}
Obviamente, isso não faz muito. No entanto, quando tento compilá- gcc
lo, ocorre um erro:
foo.c:1:19: fatal error: Python.h: No such file or directory.
Então eu verifiquei se o pacote python-dev foi Python.h
instalado ou não está sendo usado locate
.
$locate Python.h
/usr/include/python2.7/Python.h
É claro para mim que tenho o Python.h
arquivo de cabeçalho no meu sistema. Como faço para que meu executável funcione?
Respostas:
Você precisa qualificar sua inclusão
Ou diga ao gcc onde encontrar o Python.h com o
fonte
Você precisa fornecer ao GCC o caminho de inclusão do
Python.h
cabeçalho. Isso pode ser feito com a-I
bandeira:No entanto, existe uma maneira melhor: use pkg-config :
Isso produzirá os sinalizadores que precisam ser passados para o GCC para compilar aplicativos que usam os cabeçalhos e bibliotecas do Python.
Ao vincular, use a saída deste comando para incluir as bibliotecas apropriadas:
Você pode até combinar as duas etapas com:
fonte
"gcc file.o -o program"