我正在使用python文档中的这个示例
#include <Python.h>
int
main(int argc, char *argv[])
{
Py_SetProgramName(argv[0]); /* optional but recommended */
Py_Initialize();
PyRun_SimpleString("from time import time,ctime\n"
"print('Today is', ctime(time()))\n");
Py_Finalize();
return 0;
}其中python脚本被硬编码为C程序。但是当我试图编译它时
$ gcc -c modwithpy.c -o mod我收到一个错误:
modwithpy.c:1:20:致命错误: Python.h:没有终止这样的文件或目录编译。
但是,我已经安装了python包。我还查看了汇编和链接文件,不知道我需要为python包编写什么绝对路径。
$ whereis python
python: /usr/bin/python3.3m /usr/bin/python /usr/bin/python2.7-config
/usr/bin/python3.3 /usr/bin/python2.7 /etc/python /etc/python3.3 /etc/python2.7
/usr/lib/python2.6 /usr/lib/python3.3 /usr/lib/python2.7 /usr/bin/X11/python3.3m
/usr/bin/X11/python /usr/bin/X11/python2.7-config /usr/bin/X11/python3.3
/usr/bin/X11/python2.7 /usr/local/lib/python3.3 /usr/local/lib/python2.7
/usr/include/python2.7 /usr/share/python /usr/share/man/man1/python.1.gz发布于 2013-12-30 16:33:13
你读得不够远。文档这里展示了如何告诉编译器哪里有python和库。
在此基础上,尝试
gcc `/opt/bin/python3.3-config --cflags` modwithpy.c -o mod \
`/opt/bin/python3.3-config --ldlags`如果您的python安装脚本位于不同的位置,则必须将/opt/bin更改为真正位于...-config的位置。根据您的whereis跟踪,可能是/usr/bin。
https://stackoverflow.com/questions/20843009
复制相似问题