首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在setup.py文件中设置编译参数(或者链接器参数?-lrt?)

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

Stack Overflow用户
提问于 2018-03-13 12:17:54
回答 1查看 1.5K关注 0票数 1

下面是我用来安装python包装器的安装文件。我遇到的问题是,在我编写的c++代码中,出于分析原因,调用clock_gettime。问题是,当我试图导入模块时,会得到以下内容:error undefined symbol: clock_gettime。我知道我需要用-lrt进行编译,但显然我的编译器没有得到那个标志。我做错了什么?

代码语言:javascript
复制
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文件夹并重新构建之后,这个工作完成了。

代码语言:javascript
复制
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])
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-13 13:05:30

您缺少了相等的(=),您需要说链接args的extra_link_args=your列表

根据评论意见更新:

重试前删除生成文件夹

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49256000

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档