在 setup.py 文件中设置编译参数(或链接器参数?-lrt?)

setting compile arguments in setup.py file (Or linker arguments? -lrt?)

下面是我的设置文件,用于设置 python 包装器。我遇到的问题是,在我正在编写的 C 代码中,出于分析原因正在调用 clock_gettime。问题是当我尝试导入模块时,我得到以下信息:error undefined symbol: clock_gettime。我知道我需要使用 -lrt 进行编译,但显然我的编译器没有获得该标志。我究竟做错了什么?

from distutils.core import setup, Extension
import os


module1 = Extension('relaymod',
    extra_compile_args = ["-lrt"], #flag so compiler links to realtime lib
    sources=['relaymodule.c']

    )


setup (name = 'relaymod',
    version = '1.0',
    description = "CTec Relay Board controller",
    author='Richard Kelly',
    url='site',
    ext_modules=[module1])

编辑: 查看 distutils.core 文档,我认为我需要设置 extra_link_args 以下是我的新更改,但我现在收到此错误:NameError: name 'extra_link_args' is not defined

EDIT2:好的,下面的代码现在可以工作了。发生了一些事情。在我删除构建文件夹并重建后它工作了。

from distutils.core import setup, Extension
import os


module1 = Extension('relaymod',
    extra_link_args=["-lrt"],
    sources=['relaymodule.c']

    )


setup (name = 'relaymod',
    version = '1.0',
    description = "CTec Relay Board controller",
    author='Richard Kelly',
    url='site',
    ext_modules=[module1])

你错过了你需要说的等号 (=) extra_link_args=[你的 link args 列表]

根据评论更新:

重试前删除构建文件夹