如何编译调用python2.7函数的c编程

2024-03-28 09:41:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我从c程序调用python函数。我可以使用下面的命令为2.6编译和链接 在

gcc py_sample.c -I/usr/include/python2.6 -lpython2.6 ;

但要求是python2.7。请帮助如何在gcc命令中编译和链接在一起。我尝试了下面的命令,但仍然面临问题。在

^{pr2}$

Tags: sample函数py命令程序include链接usr
2条回答

假设在/usr/local中安装了python-2.7, 您需要做一些调整:

修复此错误: 在

gcc -I/usr/local/in**lc**ude/python2.7

显式地指定库路径(在一个正确配置的系统上,默认情况下它应该可以工作,但是我们不知道这一点,而且也不会造成损害):-L/usr/local/lib -lpython2.7(如果需要,可以向lib添加64后缀)

与定义floorpow:-lm的数学库链接

你的最后命令应该是:

^{pr2}$

伊斯克伦已经给了你解决具体问题的方法。我来这里的目的是找出旗帜应该是什么。在

根据Compiling and Linking under Unix-like systems,Python将通过使用Python pythonX.Y-config命令(其中X和Y表示您所拥有的版本),并使用 cflags和{}请求编译和链接标志,从而为您的系统推荐哪些编译和链接选项。在

该链接给出了Python2.7的示例

$ /opt/bin/python2.7-config  cflags
-I/opt/include/python2.7 -fno-strict-aliasing -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes

$ /opt/bin/python2.7-config  ldflags
-L/opt/lib/python2.7/config -lpthread -ldl -lutil -lm -lpython2.7 -Xlinker -export-dynamic

相关问题 更多 >