加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 静态库和SCons的传递依赖项

发布时间:2020-12-16 22:18:51 所属栏目:Python 来源:网络整理
导读:在为两者构建两个库和测试程序时,我偶然发现了一个看似简单的问题. 问题:我有两个静态库,libA和libB,libB依赖于libA.我不想明确地将使用libB的所有程序链接到libA,我希望SCons看到如果程序链接到库B,它也应该链接到库A. 我已经构建了一个简单的例子来说明这

在为两者构建两个库和测试程序时,我偶然发现了一个看似简单的问题.

问题:我有两个静态库,libA和libB,libB依赖于libA.我不想明确地将使用libB的所有程序链接到libA,我希望SCons看到如果程序链接到库B,它也应该链接到库A.

我已经构建了一个简单的例子来说明这个问题.由于我找不到合适的文件托管服务器并且这与编程有关,因此我创建了一个小型SVN存储库:

svn checkout https://example-repository.googlecode.com/svn/trunk example-repository

或者你可以下载一个tarball here.

最佳答案
SCons没有像你描述的那样内置支持表达传递库依赖关系,但它的年轻表兄Waf确实如此.有关Waf书中的“使用”功能,请参阅documentation. Boost build system也有此功能under a different name.如果您愿意编写一些Python代码,您也可以选择在SCons中自己实现.

您可以使用的一个技巧是将回调定义为构造变量(即将通过Python函数调用扩展的字符串).让该函数调用基于您在分析时计算的某种形式的依赖图计算所需库的传递列表(即通过SConscripts中的方法调用),并且您不必为每个目标重复完整的库列表或环境.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读