我的程序依赖于两个库。第一个使用 scons,最后一个使用 qmake。该程序本身使用 scons。所以要构建整个项目,我有一个 makefile,它用 scons 构建第一个库,用 qmake 构建第二个库。
在同一个项目中使用多个构建工具是否被认为是不好的做法?我也应该创建一个 scons 文件来构建最后一个库吗?
如果没有必要,我不希望事情过于复杂。这通常被称为 KISS。
SCons 可以进行普通编译和 Qt 编译。同样与 Qt (qmake).
我个人的偏好是两者都使用 SCons。要使用 SCons 构建 Qt,请参考 qt4tools,或此处提到的普通 SCons qt 工具。
我不会这么说的。在复杂的项目中,源代码通常来自几个不同的源代码控制系统(我想我在某处读到 Chromium 项目引用了 7 个不同的存储库之类的东西)。项目不断发展并具有历史怪癖,这意味着随着时间的推移,不同的部分可能会被嫁接,由具有不同背景的不同人贡献。
如果看起来将项目转换为使用 scons 可能很简单,那么就这样做。如果它看起来比这更复杂,那么它可能值得坚持你所拥有的。如果您发现维护 qmake 系统成为一种浪费时间,那么将时间花在迁移到 scons 上可能是值得的。
从经济angular考虑:如果不需要时间或精力来维护,那么就让它保持原样。如果需要时间来维护,请考虑是否真的需要更长的时间才能迁移到其他地方。不要忘记 xkcd 经典: