我为这个新手问题表示歉意。我目前正在寻找将一个小型Python代码嵌入到主C代码中。建议在头部使用#include <Python.h>
。我已经这样做了,我的Ubuntu12-0.4机器也安装了python-dev
。包括<Python.h> makefile.am
通过运行locate Python.h
,我得到了/usr/include/python2.7/Python.h
。
但是,当我将Python.h包含到我的C程序中时,它仍然给我fatal error: python.h: No such file or directory
。
所以Python.h没有包含在Makefile中。但我不知道如何去做。查看我的软件包列表,我有:Makefile.am
,Makefile.in
和Makefile
。
在Makefile.am:
ACLOCAL_AMFLAGS = -I m4
EXTRA_DIST = MIGRATION README.rst libmodbus.spec
SUBDIRS = src doc tests
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libmodbus.pc
在Makefile.in, 的第一行说
# Makefile.in generated by automake 1.14.1 from Makefile.am.
我应该还包括Makefile.in
完整描述到这里?我不知道该如何继续。
我不知道'automake',但是当你调用'G ++'我认为应该有个选项'-L/usr/include/python2.7'。 ('/ usr/include'会自动附加到搜索列表中,但我认为这不是递归的。) – 2015-01-31 18:03:20
@JamesKanze'-I/usr/include/python2.7'大写''i''而不是'L ' - 这是图书馆。或者我错了? – 2015-01-31 18:31:16
@SylvainLeroux你说得对。它应该是'-I'。你也可能需要一个'-R',或者告诉链接器和可执行文件在哪里查找库(除非它在'/ usr/lib'中)。我没有Unix系统方便检查,但你也可以验证大小写;你的错误消息说'python.h',而不是'Python.h'。 – 2015-01-31 18:47:46