调用 CMake 是否等同于 ./configure 步骤?

skr*_*obo 5 configuration cmake

我知道要从源代码编译和安装某些东西,在 Unix 系统中,涉及的三个步骤是:

1) ./configure

2) make

3) make install

从源码查看OpenCV的安装,发现没有./configure步骤,但是有cmake步骤。这给了我cmake相当于./configure. 我还读到cmake可以生成构建系统,例如Makefiles,这就是该./configure步骤的作用。

但是,这篇文章(参见 的第一段what is the difference?)说它也cmake执行实际构建。如果是这种情况,为什么 OpenCV 安装会指示makeafter cmake?另外,我经常看到它cmake与 相比make,而不是./configure。那么,cmake实际上适合在哪里?

arr*_*owd 5

是的,cmake就像自动工具的配置步骤。它本身并不执行构建,而只是生成构建所需的文件(Makefile、Visual Studio 项目等)。

CMake 有--build选项,但此选项仅调用底层构建系统,因此您不能将 CMake 用作独立的构建工具。这与普通的 Makefile 不同,因为您可以手动编写它们,然后再编写make它们。

  • 是的,我会这么说。Autotools 固定为 Makefile,需要 linuxy 环境才能在 Windows 上运行。另一方面,CMake 可以生成 VS 项目或 NMake makefile,这使得使用它开发跨平台应用程序确实是一种乐趣。 (3认同)