开发者社区> 问答> 正文

如何在Python setup.py脚本中将标志传递给gcc?

我正在用C语言编写一个Python扩展,它需要CoreFoundation框架(除其他外)。可以使用以下命令进行编译:

gcc -o foo foo.c -framework CoreFoundation -framework Python

(“ -framework”是Apple专用的gcc扩展名,但这没关系,因为无论如何我都在使用它们的特定框架)

我如何告诉setup.py将此标志传递给gcc?

我尝试了一下,但是它似乎不起作用(它可以编译,但是当我尝试运行它时会抱怨未定义的符号):

from distutils.core import setup, Extension
setup(name='foo',
      version='1.0',
      author='Me',
      ext_modules=[Extension('foo',
                             ['foo.c'],
                             extra_compile_args=['-framework CoreFoundation'])])

编辑:

这似乎起作用:

from distutils.core import setup, Extension
setup(name='foo',
      version='1.0',
      author='Me',
      ext_modules=[Extension('foo',
                             ['foo.c'],
                             extra_link_args=['-framework', 'CoreFoundation'])])

展开
收起
祖安文状元 2020-02-23 15:38:12 847 0
1 条回答
写回答
取消 提交回答
  • 也许您也需要设置extra_link_args?extra_compile_args在编译源代码,extra_link_args链接结果时使用。

    2020-02-23 15:38:17
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载