当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 2 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : [问题]怎样由Makefile.in和Makefile.am生成Makefile?
帖子发表于 : 2008-07-10 19:05 
头像

注册: 2006-07-15 11:20
帖子: 990
地址: 枫叶刀市
送出感谢: 2
接收感谢: 0 次
我编译GTKmm给的示例,比如给出如下文件:
examplewindow.cc examplewindow.h main.cc Makefile.am Makefile.in
但生成的Makefile却是错的,请大家看看我那个步骤出了问题?

代码:
nile@un:~/project/examples/book/buttons/checkbutton$ l
examplewindow.cc  examplewindow.h  main.cc  Makefile.am  Makefile.in
nile@un:~/project/examples/book/buttons/checkbutton$ autoscan
nile@un:~/project/examples/book/buttons/checkbutton$ mv configure.scan configure.in
nile@un:~/project/examples/book/buttons/checkbutton$ aclocal
nile@un:~/project/examples/book/buttons/checkbutton$ autoconf
nile@un:~/project/examples/book/buttons/checkbutton$ autoheader
nile@un:~/project/examples/book/buttons/checkbutton$ ./configure
checking for g++... g++
checking for C++ compiler default output file name... a.out
checking whether the C++ compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
nile@un:~/project/examples/book/buttons/checkbutton$ l
autom4te.cache/  config.h     config.log      configure*    examplewindow.cc  main.cc   Makefile.am
autoscan.log     config.h.in  config.status*  configure.in  examplewindow.h   Makefile  Makefile.in
nile@un:~/project/examples/book/buttons/checkbutton$ make
Makefile:15: *** 遗漏分隔符 。 停止。
nile@un:~/project/examples/book/buttons/checkbutton$


多谢多谢!


_________________
Thinkpad T400


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2008-07-10 20:57 
头像

注册: 2006-07-15 11:20
帖子: 990
地址: 枫叶刀市
送出感谢: 2
接收感谢: 0 次
我就不明白了,为什么同时提供Makefile.am和Makefile.in?Makefile.in不是Makefile.am生成的吗?

如果用Makefile.am生成的Makefile.in再生成Makefile会出现Makefile.am_fragment:6: *** 遗漏分隔符 。 停止。
的错误
看了一下Makefile,其中有这么一句include /home/nile/project/examples/Makefile.am_fragment
是从Makefile.am里直接copy来的,
Makefile.am:
代码:
include /home/nile/project/examples/Makefile.am_fragment

#Build the executable, but don't install it.
noinst_PROGRAMS = example
example_SOURCES = examplewindow.h examplewindow.cc main.cc

而Makefile.am_fragment文件根本就不是Makefile文件,比如出错的第6行:
代码:
if GTKMM_ATKMM_ENABLED
ATKMMLIB = $(local_atkmm_lib)
endif

好像是一个普通shell脚本,这样直接make出错就是理所当然的了。

如果不用示例提供的Makefile.am,直接让configure读取Makefile.in,再make就会出现
make: *** 没有规则可以创建“Makefile.in”需要的目标“@MAINTAINER_MODE_TRUE@”。 停止。

真被搞晕了 :em20 :em23


_________________
Thinkpad T400


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 2 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:Google [Bot] 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译