sar*_*ara 19 c++ linux makefile autotools
我有一个C项目在Linux中编译和运行.这是一个包含许多子目录的非常大的项目.在父目录中有文件Makefile.am和Makefile.in.
我试过运行make -f Makefile.am,并得到以下错误:
make: Nothing to be done for `Makefile.am'.
这是什么意思?我如何完成任务?
Lee*_*ton 20
这些文件与Autotools套件一起使用.Makefile.am文件使用automake编译为Makefile .
看一下configure目录中是否有脚本.如果有,则键入:
./configure
如果没有,那么运行:
autoreconf
在目录中,应创建configure脚本(您需要安装Autotools套件才能运行此脚本).
之后,您应该有一个configure可以运行的脚本.
配置完成后,您应该在目录中有一个普通的Makefile,并且能够运行
make
遗漏了什么:
这两个(Makefile.{am,in})都不应该与之一起使用make -f.
如果tarball已经附带configure,只需运行它并生成.如果没有,请运行./autogen.sh或bootstrap(*).如果不存在,请autoreconf改用.
(*)autogen/bootstrap:由应该只调用的开发人员添加的便利脚本autoreconf.不幸的是,有些人会避开autoreconf并且不必要地自己调用所有低级命令.
Makefile.am可能与automake一起使用。
尝试:
automake
你可能也只是想尝试一下
make -f Makefile.in
由于这是运行automake的产物
| 归档时间: | 
 | 
| 查看次数: | 29247 次 | 
| 最近记录: |