下面是我设置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])
答案 0 :(得分:1)
你错过了等于(=)你需要说extra_link_args = [你的链接参数列表]
在重试
之前删除构建文件夹