방금 간단한 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-dev 패키지가 Python.h
설치되어 있는지 확인했습니다 locate
.
$locate Python.h
/usr/include/python2.7/Python.h
Python.h
시스템에 헤더 파일 이 있다는 것이 분명 합니다. 실행 파일을 작동 시키려면 어떻게합니까?
답변
당신은 당신의 포함 자격이 필요합니다
#include <python2.7/Python.h>
또는 gcc에게 Python.h를 어디에서 찾을 수 있는지 알려주십시오.
gcc -I /usr/include/python2.7/ program.c
답변
GCC에 Python.h
헤더 의 포함 경로를 제공해야합니다 . 이 -I
플래그를 사용하여 수행 할 수 있습니다 .
gcc -c -I / usr / include / python2.7 소스 파일 .c
그러나 더 좋은 방법이 있습니다 : pkg-config 사용 :
pkg-config --cflags 파이썬
파이썬 헤더와 라이브러리를 사용하는 응용 프로그램을 컴파일하기 위해 GCC에 전달해야하는 플래그를 출력합니다.
링크 할 때이 명령의 출력을 사용하여 적절한 라이브러리를 포함하십시오.
pkg-config --libs 파이썬
두 단계를 다음과 결합 할 수도 있습니다.
gcc`pkg-config --cflags --libs python` sourcefile.c