标题:玩autotools遇到的一个make问题,请教wxjeacen大牛
只看楼主
wxjeacen
Rank: 7Rank: 7Rank: 7
等 级:禁止访问
帖 子:1291
专家分:628
注 册:2009-3-22
得分:0 
dist, distclean压根就平时压根就用不到。

all install unistall那些也是人为自己规定的。

需要的实现这功能的时候再往上添无所谓的。

test_c++.tar.gz (193.28 KB)

生命不熄,战斗不止.
2009-08-13 19:37
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
得分:0 
哦……看上去是个简化版的automake产品……


顺带说一下,wx你的BigInteger接口有缺陷,至少可以允许(a + b) = c;这种语句,而且有些friend/member的设定也欠妥。好像有本书很详细地讲解了运算符重载时的规则和技巧,wx最好还是去看看。

最后说一句,libgmp是很好的高精度库,且支持C++界面。有时候用用前人的东西也是很不错的。

专心编程………
飞燕算法初级群:3996098
我的Blog
2009-08-14 07:25
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
得分:0 
这个问题昨天解决了,其实很简单,解决方案如下:

1. 在Makefile.am中将$(abs_builddir)作为规则名,依赖于map.txt:
sokoban_DEPENDENCIES = $(abs_builddir)/map.txt

$(abs_builddir)/map.txt:
    cp $(srcdir)/map.txt $(builddir)

这样会遇到一个问题,在distclean不会清理掉这个文件,我们必须在srcdir不同于builddir的时候,手动清理掉它:

2. 在configure.in里面加入下面一行:
AM_CONDITIONAL(NOT_IN_LOCAL, test "`cd $srcdir && pwd`" != "`pwd`")

3. 在Makefile.am里面加入下面几行:
if NOT_IN_LOCAL
DISTCLEANFILES = $(abs_builddir)/map.txt
endif

这样问题就解决了。

专心编程………
飞燕算法初级群:3996098
我的Blog
2009-08-14 07:30



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-282383-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.127992 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved