我正在写在C Python扩展,需要所述的CoreFoundation框架(除其他外)。这将编译细跟:

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

(“ - 框架”是一个苹果只有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'])])
有帮助吗?

解决方案

也许你需要设置extra_link_args,太?连接结果时编译源代码,当extra_compile_args extra_link_args被使用。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top