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

2024-01-02

我正在用 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'])])

Edit:

这似乎有效:

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'])])

也许你需要设置extra_link_args, too? extra_compile_args编译源代码时使用,extra_link_args链接结果时。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在Python setup.py 脚本中将标志传递给gcc? 的相关文章

随机推荐