为什么我们需要CMake? [英] Why do we need cmake?
本文介绍了为什么我们需要CMake?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我不明白,为什么我们需要cmake来构建库?如果我的问题很愚蠢,我很抱歉,但我需要在Widnows上使用一些库,无论我选择什么库,我都需要用cmake来构建和/或编译它。它是用来做什么的?为什么我不能只#将我需要的东西包含到我的项目中,这样它就可以与我的项目同时编译/生成?
此外,有时我需要安装Ruby、Perl、Python所有这些特定版本,以便cmake可以构建库……我为什么需要这些程序,我是只在构建库时才需要它们,还是在以后的项目中也需要它们?(具体来说,我可以在构建库后卸载这些程序吗?)推荐答案
目前在不同平台上用C++构建东西很混乱。
有几种不同的构建系统,没有标准的方法可以做到这一点。仅提供一个Visual Studio解决方案对在Linux或Mac上进行编译没有帮助。 如果添加用于Linux或Mac的Makefile,则需要在解决方案和Makefile之间重复配置。这可能会导致大量的维护开销。此外,与现有的新工具相比,Make文件并不是一个很好的构建工具。 您只有CMake库,这在很大程度上是巧合。然而,CMake目前是一个流行的选择。 有几种解决方案可以统一构建。CMake是一种特殊的构建工具。它可以创建生成文件并生成它们,但如果您愿意,也可以告诉cmake创建一个Visual Studio解决方案。外部程序也是如此。它们是您所使用的库的维护者的选择,并且没有代码生成等方面的标准。
虽然CMake可能不是解决方案(尽管即将到来的Visual Studio 2015集成了对CMake的支持),但对于那些跨平台的构建系统来说,趋势正越来越多地朝着这个方向发展。对于您的问题,为什么不能只包括页眉:
很少有库仅是头文件,需要编译。您可以获得预编译库/dll,然后只包含头文件+添加链接器路径。这在Linux中更容易,因为您可以拥有-dev
包,它们只需通过包管理器安装一个预构建库和它的头文件。Windows本身没有此类功能。
或者您必须使用库使用的任何生成工具自己构建它。
这篇关于为什么我们需要CMake?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文