2011-09-28 53 views
6

使用autotools創建bin程序非常簡單,我只需要定義兩個文件即可。Hello World Library使用自動工具

的`Makefile.am」

bin_PROGRAMS = hello 
hello_SOURCES = hello.c 

的`configure.in'

AC_INIT(hello.c) 
AM_INIT_AUTOMAKE(hello,1.0) 
AC_PROG_CC 
AC_PROG_INSTALL 
AC_OUTPUT(Makefile) 

任何機構可以給創建靜態使用自動工具最小的例子嗎?

+2

您用於'configure.in'的語法嚴重過時!請閱讀Automake手冊中關於當前語法的「Hello World」示例。 http://sourceware.org/automake/automake.html#Hello-World – adl

+0

@adi我剛開始學習它。並發現作爲示例 –

+1

是的,這是開始時的一個問題:您在Internet上找到的很多教程都是在1999-2000年前後編寫的,當時Automake 1.4和Autoconf 2.13到處都是。但是這些工具在一年中有了很大的改進,語法也發生了很大的變化。作爲一個經驗法則,如果你的文檔使用'configure.in'而不是'configure.ac',它很可能已經過時了。如果需要,我可以在http://www.lrde.epita.fr/~adl/autotools.html上找到最新語法的教程。 – adl

回答

13

Makefile.am

lib_LIBRARIES = libhello.a 
libhello_a_SOURCES = hello.c 

configure.ac

AC_INIT([libhello], [1.0], [[email protected]]) 
AM_INIT_AUTOMAKE([-Wall -Werror foreign]) 
AC_PROG_CC 
AC_PROG_RANLIB 
AC_CONFIG_FILES([Makefile]) 
AC_OUTPUT 

構建庫使用automake的文檔here

+0

@adi我還有一個問題http://stackoverflow.com/questions/7589676/autotools-include-path –