参考文章:Linux GCC常用命令
我的Ubuntu系统上有Python,但是gcc找不到Python.h
问题:
C调用Python时报错:
fatal error: Python.h: No such file or directory
#include <Python.h>
分析:
网上各种解决方案,常见的有:
第一种:
sudo apt-get install python-dev # for python2.x installs
sudo apt-get install python3-dev # for python3.x installssudo apt-get install python3.6-dev
sudo apt-get install python-dev
第二种:
1.可以先查看一下含python-devel的包
yum search python | grep python-devel
2.64位安装python-devel.x86_64,32位安装python-devel.i686,我这里安装:
sudo yum install python-devel.x86_64
3. 进入/usr/include/python2.7看一下现在有没有Python.h,版本不同目录名不同,我这里是2.7版本。其实也可以看到很多.h文件,python需要库或头文件都在这个地方。
均不奏效!!!
解决方案
1. 将c代码中的 #include <Python.h> 改为: #include <python2.7/Python.h>
2. gcc的编译命令为:
gcc [c文件名] -lpython2.7 -o test
例如:
gcc c_python.c -lpython2.7 -o test
3.执行文件:./test
问题解决!