将 Python 添加到 C++:找不到 Python.h
Posted
技术标签:
【中文标题】将 Python 添加到 C++:找不到 Python.h【英文标题】:Adding Python to C++: not finding Python.h 【发布时间】:2014-05-18 07:25:56 【问题描述】:我想将一些用 Python 编写的函数添加到我的 C++ 程序中:
#include <iostream>
#include <Python.h>
using namespace std;
int main()
int a = 0;
cout << a;
return 0;
但是当我使用推荐 g++ main.cpp -Wall -o main
编译这个程序时
我有一个错误:fatal error: Python.h: No such file or directory
我试图通过sudo apt-get install python2.7-dev
安装python2.7 -dev
来解决问题,但它没有帮助。有人可以建议我还能做些什么来解决这个问题吗?
【问题讨论】:
【参考方案1】:Additional note:
由于 Python 可能会定义一些预处理器定义,这些定义会影响 某些系统上的标准头文件,您必须在前面包含
Python.h
包括任何标准标题。
【讨论】:
这应该是一个评论而不是一个答案,因为它不能解决问题,而是试图在主要问题修复后阻止即将到来的附加问题。【参考方案2】:您需要告诉编译器在哪里可以找到 Python 标头。例如,在某些系统上,您会这样做:
g++ -I /usr/include/python2.7 ...
【讨论】:
我做了g++ -I usr/include/python2.7/Python.h main.cpp -Wall -o main
,但我仍然有同样的错误。我做错了吗?
您已将 Python.h 添加到命令行。不要那样做,做我写的( ... 意味着你的 main.cpp 和其余部分)。阅读有关-I
选项的手册。
@Rop 你在那个路径上也缺少一个前导 /
@JohnZwinck 对于我的赞扬:g++ -I/usr/include/python2.7 -lpython2.7 main.cpp -Wall -o main
现在效果很好。以上是关于将 Python 添加到 C++:找不到 Python.h的主要内容,如果未能解决你的问题,请参考以下文章
将 bcrypt 添加到 package.json 时,如何使用 docker node alpine Image 解决“找不到任何要使用的 Python 安装”?