克隆了一个开源项目(使用Git)之后,我想要构建它。
此外,我希望能够从头开始,然后再试一次(用于git-bisect)。
干净检出包含Makefile.in和configure.ac,但不包含configure。
假设这个项目没有任何容易找到的指令,那么做这些事情的秘诀是什么呢?这是不是很标准?是否存在有时可能需要的常见变体?
发布于 2014-10-24 10:35:00
尽管我看到一些帖子建议使用autoreconf -fi,但我只使用autoconf就能得到更好的结果,因为使用前者的make步骤失败了(有关基本描述,请参阅autoconf和autoreconf )。也许在一般情况下,如果其中一个不起作用,那么尝试另一个--确保清理中间,这样结果就不会受到污染。
以下是一些常见的步骤:
## clean...
make maintainer-clean ## clean up most stuff after you have run ./configure
git status --ignored ## see what still needs to be cleaned up
git clean -fdX ## remove ignored files
git clean -fdx ## remove all extra files -- including your own work (if any)
git reset --hard ## revert all remaining files (may be destructive)
## build...
autoconf && ./configure && make -s ## build everything发布于 2014-10-29 14:23:11
如果你正在使用Git,那么你应该能够完全绕过自动工具,只需在一分为二的步骤之间执行git clean -xdf即可。
发布于 2015-07-13 00:43:40
正如其他人已经在注释中指出的那样,configure.ac文件通常伴随着一个autogen.sh或bootstrap.sh脚本来生成配置脚本。
例如,根据约定,GNOME project倾向于依赖autogen.sh脚本,因此可以使用以下命令集构建项目(请随意查看GNOME的gtk+ source code,以了解在该约定下根构建目录通常是什么样子的):
./autogen.sh --prefix=$PREFIX && make && make install在运行./autogen.sh脚本之后,您将看到在构建根目录中生成的configure脚本。
如果在你的特定项目中没有这样的脚本,并且它不能回答你的问题,那么如果你能够提供一个链接到你的查询具体涉及的项目的源代码,那么它可能会很有用。
https://stackoverflow.com/questions/26540012
复制相似问题