scons

昨天下午,我在搞javascript v8的时候,发现,它是用scons构建的。
在我自己scons helloworld.c的时候,却发现有LNK1104 没法链接kernel32.lib的问题。
(注意:我的环境是winxp,visual studio 2008 express,微软的东西就是麻烦)
在网上,无论怎么找都没找着。今天早上,我看了一下scons guide,原来是一个很简单的问题,lib没找着,不过,你要会在scons中添加才行。
对于代码:

int
main()
{
printf("Hello, world!\n");
}


你可以把SConstruct定义成:

ms_libpath=[
'C:\\Program Files\\Microsoft SDKs\\Windows\\v6.0A\\lib',
'C:\\Program Files\\Microsoft Visual Studio 9.0\\VC\\LIB']
DefaultEnvironment(LIBPATH=ms_libpath)
Program('helloworld.c')

这样,就没有那个错误了。实际上,主要问题还是scons出错了,它的构建环境对象的lib不准确,win32sdk好象是在msvs/platform什么的,这不对,位置如上。

用scons构建真的很方便和容易理解。构建这样的任务对于python这样的语言非常的合适。
相应的语言应该做相应的事。不要指望用一种语言,做所有的事情(我原来曾经有这样的想法)。

scons的文档我大概的读了一下。很清晰,我相信scons在构建领域,将来会是默认的选择。
不过,对于java体系的构建不如ant,我发现它只关注与构建,而不是运行。当然了,可以多加几个关于java的builder之类的补充,这都没有问题,只是现在对于java的支持还不够强劲。

从理论上讲,scons没有做不了的事,它是python,是可运行的代码,这比ant的xml强多了,想干什么用代码直接写,不是很爽的事吗?!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值