1、为什么要生成工程
如果在实现一个程序的时候不生成工程,由于机器配置的不同,可能在一台机器上可以运行,而在其他机器上就不能运行了。如果用生成工程的方式,那么该工程会根据不同的机器配置,生成对应的配置文件,使得同一个程序在任何一个机器上都可以编译运行。
2、生成工程的步骤
1)mkdir project
2)vim hello.c,并写这个程序。
3)运行autoscan命令,这时生成autoscan.log configure.scan两个文件。其中,autoscan.log是一个空文件,configure.scan是一个模板文件,根据上面的提示填写内容,然后将其改为configure.ac或者configure.in文件。其中,configure.ac是新的写法,configure.in是比较旧的写法。并修改configure.ac文件。
其中,configure.ac的写法是:
4) 在工程根目录下新建Makefile.am文件,并在各个模块子目录下也新建makefile.am文件。(并修改Makefile.am文件 )
其中,Makefile.am的写法是:
5) 在工程根目录下新建NEWS、 README、 ChangeLog 、AUTHORS文件。
6)运行aclocal命令
7)运行autoconf命令
8)运行automake -a命令
9)运行./confiugre,生成Makefile
http://www.itqun.net/content-detail/155779.html
http://blog.csdn.net/fyzhao/archive/2008/11/20/3334605.aspx
http://blog.csdn.net/rougker/archive/2007/10/23/1839855.aspx(最全)
http://www.freesoftwaremagazine.com/books/agaal/automatically_writing_makefiles_with_autotools
运行automake -a之后出现的错误:
configure.ac:7: required file `config.h.in' not found
Makefile.am:4: compiling `homework.c' with per-target flags requires `AM_PROG_CC_C_O' in `configure.ac'