2024-03-28 09:41:20 发布
网友
我从c程序调用python函数。我可以使用下面的命令为2.6编译和链接 在
gcc py_sample.c -I/usr/include/python2.6 -lpython2.6 ;
但要求是python2.7。请帮助如何在gcc命令中编译和链接在一起。我尝试了下面的命令,但仍然面临问题。在
假设在/usr/local中安装了python-2.7, 您需要做一些调整:
修复此错误: 在
gcc -I/usr/local/in**lc**ude/python2.7
显式地指定库路径(在一个正确配置的系统上,默认情况下它应该可以工作,但是我们不知道这一点,而且也不会造成损害):-L/usr/local/lib -lpython2.7(如果需要,可以向lib添加64后缀)
-L/usr/local/lib -lpython2.7
与定义floor和pow:-lm的数学库链接
floor
pow
-lm
你的最后命令应该是:
伊斯克伦已经给了你解决具体问题的方法。我来这里的目的是找出旗帜应该是什么。在
根据Compiling and Linking under Unix-like systems,Python将通过使用Python pythonX.Y-config命令(其中X和Y表示您所拥有的版本),并使用 cflags和{}请求编译和链接标志,从而为您的系统推荐哪些编译和链接选项。在
pythonX.Y-config
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
假设在/usr/local中安装了python-2.7, 您需要做一些调整:
修复此错误: 在
显式地指定库路径(在一个正确配置的系统上,默认情况下它应该可以工作,但是我们不知道这一点,而且也不会造成损害):
-L/usr/local/lib -lpython2.7
(如果需要,可以向lib添加64后缀)与定义
floor
和pow
:-lm
的数学库链接你的最后命令应该是:
^{pr2}$伊斯克伦已经给了你解决具体问题的方法。我来这里的目的是找出旗帜应该是什么。在
根据Compiling and Linking under Unix-like systems,Python将通过使用Python}请求编译和链接标志,从而为您的系统推荐哪些编译和链接选项。在
pythonX.Y-config
命令(其中X和Y表示您所拥有的版本),并使用cflags
和{该链接给出了Python2.7的示例
相关问题 更多 >
编程相关推荐