我的C代码:
#include<stdio.h>
#include "Python.h"
int main()
{
printf("Hello World");
return 0;
}
我为python2.7安装了python-dev
。此外,Python.h
中提供了/usr/include/python2.7
。
gcc myfile.c
#Python.h:没有这样的文件或目录
我甚至尝试过:
gcc -L/usr/include/python2.7/ myfile.c
#Pix.h:没有这样的文件或目录
我尝试用pip构建一个python c模块ujson
,使用Python.h
,它能够编译。
我错过了什么/做错了什么?
答案 0 :(得分:10)
应该是-I
,而不是-L
:
gcc -I/usr/include/python2.7 myfile.c
答案 1 :(得分:0)
使用
#include <Python.h>
而不是
#include "Python.h"
到include头文件。 Python.h文件应该是包含的第一个文件。
@see Extending Python with C or C++(第1.1节注释)
由于Python可能会定义一些影响的预处理器定义 某些系统上的标准头文件,您必须先包含Python.h 包含任何标准标题。