下面是我设置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
编辑2:好的,下面的代码现在可以工作了。发生了一些事情。在我删除构建文件夹并重建后,这工作了。
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=[你的链接参数列表]
根据评论更新:
在重试之前删除生成文件夹