首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >`./configure`命令是什么?

`./configure`命令是什么?
EN

Stack Overflow用户
提问于 2011-09-12 17:25:45
回答 3查看 89关注 0票数 1

我通常会用./configure来构建一些东西。它看起来像是由工具生成的脚本。今天,我意识到我不知道那是什么。

这是什么?这个脚本的作用是什么,是谁制作的?我怎么才能做出这样的东西呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-09-12 17:30:57

每个系统都是不同的。例如,有不同的编译器和编译器版本,您系统的工具可能支持某些标志(或不支持),您可能已安装或未安装某些库,等等。在计算机上有许多不同的东西可能会影响如何编译项目。

configure脚本尝试找出所有这些情况,并在未满足先决条件时(例如,当缺少编译器或库时)发出警告。然后它会生成一个特定于您的系统的Makefile,只需输入make就可以(希望)在您的系统上正确地构建该项目。

configure之前,我们必须手动调优Makefile(通常可调的部分被偏置到一个单独的Makefile中)。这意味着您需要对系统有更多的了解,并且经常需要修改Makefile。这是一个很大的障碍,特别是因为几乎每个项目都是以不同的方式完成的。GNU autoconfautomake (它们解析Makefile.amconfigure.ac文件以生成Makefile.inconfigure脚本)在这里真正简化了事情(特别是如果您正在做一些奇特的事情,如交叉编译,几乎没有项目愿意添加对它们的支持;例如,如果您以一种干净的方式做autoconf/automake,那么您就可以免费获得交叉编译支持)。

票数 4
EN

Stack Overflow用户

发布于 2011-09-12 17:28:59

它通常是由GNU autoconf创建的脚本。其他构建工具也可能使用相同的名称。Autoconf是一个相当复杂的工具,但在web上有几个简短的教程。我喜欢这个:http://www.edwardrosten.com/code/autoconf/index.html

票数 4
EN

Stack Overflow用户

发布于 2011-09-12 17:30:15

GNU Autoconf Autoconf基于configure.ac文件的内容生成配置脚本,该文件描述了特定的源代码主体。在运行配置脚本时,它会扫描构建环境并生成一个从属config.status脚本,该脚本又会将其他输入文件(最常见的是Makefile.in )转换为适合该构建环境的输出文件(Makefile)。最后,make程序使用Makefile从源代码生成可执行程序。

http://en.wikipedia.org/wiki/GNU_build_system

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7385747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档