下面是我用来安装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:好的,下面的代码现在正在工作。发生了一些事情。在我删除了build文件夹并重新构建之后,这个工作完成了。
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])发布于 2018-03-13 13:05:30
您缺少了相等的(=),您需要说链接args的extra_link_args=your列表
根据评论意见更新:
重试前删除生成文件夹
https://stackoverflow.com/questions/49256000
复制相似问题