【发布时间】:2011-08-19 17:58:33
【问题描述】:
我对 C 有点陌生,但我似乎无法做我想做的事。我需要为 C 函数做一些 Python 绑定,我想我可以解决这个问题。但是有一条小线是行不通的。
#include <Python.h>
我明白了:
fatal error #1035: Can't find include file <Python.h>.
我什么都试过了。我只是先将 Python.h 放在与我的项目相同的文件夹中。然后我将文件名放在链接器下的库和对象文件中。然后我对 python31.lib 做了同样的事情,然后我把 python31.lib 所在的目录放在我的 PATH 变量中。没有什么能让我越过这条线。我在网上看到很多针对 Linux 的解决方案,但没有针对 Windows 的解决方案。请帮忙!
【问题讨论】:
-
#include "Python.h"会在同一个目录中找到它。链接是一个不同的问题。检查您的包含路径。你传递给 GCC 的命令行是什么? -
@nmichaels 看起来他是在 Windows 中构建的,所以 GCC 是无关紧要的。
-
如果您只需要为 C 函数生成 Python 绑定,请使用 code.google.com/p/ctypesgen,它可能会自动完成。
-
哦!谢啦!我以为我搞砸了,然后我读到如果文件与我的源文件位于同一目录中,它应该找到该文件(它没有)。但我想我会继续检查我的包含路径(我什至不知道存在)。所以我将 Python 包含路径添加到包含路径列表中,并对 Python 库(到库路径)做了同样的事情,它编译时没有任何问题。为什么我之前没有发现堆栈溢出???你们是最棒的!
-
@Santa 谢谢你的无关紧要。明年我能买到一只犀牛吗?
标签: python compilation python-c-extension