当前位置: 首页 > 面试题库 >

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

庞安晏
2023-03-14
问题内容

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

问题答案:

也许您也需要设置extra_link_argsextra_compile_args在编译源代码,extra_link_args链接结果时使用。



 类似资料:
  • 问题内容: 我一直在尝试运行命令并解析golang中的输出。这是我正在尝试做的一个示例: 包主 现在,当我尝试运行“ ls -ltr”时,出现以下错误: 因此,基本上,go在PATH中寻找整个“ ls -ltr”。而且显然不存在。我可以通过任何方式将标志传递给任何参数吗?TIA。 问题答案: 您可以通过将更多参数传递给函数来将参数传递给程序-它是可变的: https://golang.org/pk

  • 问题内容: 我有一个Linux bash脚本“ myshell”。我希望它读取两个日期作为参数,例如:。我是Java程序员,但不知道如何编写脚本来完成此任务。 脚本的其余部分如下所示: 问题答案: 您在脚本中使用,例如

  • 问题内容: 我试图运行在运行时调用shell脚本的Java代码。 当我在终端中运行脚本时,我正在将参数传递给脚本 码: Java代码: 如何在Java代码中为脚本传递参数? 问题答案: 在Java的最新版本中创建进程的首选方法是使用类,这使得此操作非常简单: 但是,如果您确实出于某种原因想要/需要使用该方法,则可以使用该方法的重载版本,这些版本允许显式指定参数:

  • 问题内容: 我有一个名为的MySQL脚本文件,其中包含: 我在MySQL控制台中,如何将参数传递给脚本?这不会转发变量: 问题答案: 您可以使用用户变量来实现您描述的行为。在将变量用作模式标识符而不是数据值时,必须使用准备好的语句,以便可以动态组成查询。 : 调用为

  • 我试图使用jython在java中执行python脚本。重要的是,我需要使用jython将命令行参数传递给脚本,例如myscript。py arg1 arg2 arg3。这里有一个类似的问题:将参数传递到Java中的Python脚本 这没有得到完全的回答(所有解决方案都不起作用)。 我的代码现在看起来像这样: 然而,这似乎没有向python脚本传递任何参数。对如何正确地做这件事有什么建议吗?这一定

  • 问题内容: 我刚开始学习groovy,我想将svnSourcePath和svnDestPath传递给svn copy命令中的shell脚本。但是网址未呈现。 输出量 问题答案: 在变量周围添加了单引号和加operator(’+ variable +’)。现在正在工作