【问题标题】:Can I always avoid using cmake or make when building projects?我可以在构建项目时始终避免使用 cmake 或 make 吗?
【发布时间】:2015-07-03 00:35:07
【问题描述】:

通常在获取源代码时构建库,系统会要求您使用 cmake 命令构建它。有时,框架也会要求您使用 cmake 构建代码(例如 Qt)。

我目前正在将 Qt 用于个人项目,我完全能够用它编译一个好的批处理文件。 那么,是否总是可以避免使用 cmake ?还是我应该在某个时候明确地学会克服它?

【问题讨论】:

  • 为什么不直接使用实施者提供的构建系统?你绝对应该使用它,它可能会在后台做一些不平凡的事情。我也认为使用 CMake 没有问题。
  • cmake, qmake, autofoo, bakefile, scons...都不错,挑一款适合自己的吧

标签: c++ compilation cmake makefile


【解决方案1】:

make/cmake 的目标正是避免使用批处理脚本来编译您的程序。

  • Make让你可以执行shell命令,但自带依赖解析,并检查每个目标是否需要重新构建。它还处理多线程编译(假设您正确编写了Makefile
  • CMake 可以做所有的事情,但也有很多好处,比如可移植性、对 C/C++ 的非常好的支持以及find_package,这绝对是一个必备功能。

从长远来看,使用好的构建系统会节省很多时间,避免很多麻烦。

【讨论】:

    【解决方案2】:

    CMake、make 和所有其他构建工具只是执行一系列命令。如果您可以在不实际调用 CMake 的情况下复制命令,那么您将获得相同的最终结果。

    但是...开发人员使用这些工具是有原因的。通常,命令的顺序因系统而异,以非常重要的方式变化。构建系统将阻止重新构建未更改的组件,并确保重新构建更改的组件。

    因此,您可以按照自己的方式进行操作,但您仍然应该克服对构建系统的回避并接受它们,因为它们可以节省时间。

    【讨论】:

      猜你喜欢
      • 2010-09-06
      • 2012-09-17
      • 2016-03-25
      • 2021-08-04
      • 2012-07-25
      • 2010-12-30
      • 2018-05-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多