4

我有一个使用 Scons 构建的 C++ 库,该库最终链接到(除其他外)一个 Python 扩展。

一旦我用 scons 构建了库,我就编写了一个标准的 setup.py 脚本,我调用它来构建和安装扩展。

我的主要问题是 setup.py 无法识别何时重建库(仅当扩展的代码已更改时),因此每次重建库时,我都必须在再次构建之前“清理”扩展。此外,如果我更改目录结构,我宁愿只需要编辑 Scons 文件。最后,只需要调用 scons 而不是除了 setup.py 之外还必须调用 scons 会稍微方便一些。

有谁知道将 distutils 集成到 Scons 中的方法,以便它可以利用 Scons 关于哪些文件需要重建的知识?

4

2 回答 2

1

您可以从 SCons 执行任何命令行。请参阅编写您自己的构建器然后,您可以通过编写扫描仪来检测给定文件格式的任何更改。

于 2010-02-28T22:24:17.117 回答
0

我已成功创建 SConstruct 来编译用 Pyrex 编写的 Python 扩展。主要思想是从 distutils 获取适当的 C 编译器标志,然后设置您的环境。

在 scons wiki 上查看此页面:

于 2010-03-01T06:24:51.633 回答