D开源小项目讨论
qiezi
2007-04-18
啊哈,BerkeleyDB完全可以用了,多亏了这个测试。。它比较小,有空我把它完全包装了公布出来,目前只包装了Environment和Database。
我强烈建议使用build,太好用了。。 |
|
smithfox
2007-04-18
恩,我也支持用build(bud),
Rant思想应该来自于Java的Ant, 他们的共同点应该是跨平台, 副作用一是要安装Ruby或是JRE,另外一个是要学习他们自己的脚本写法。 从大家使用的习惯来看还是各语言用自己的build工具 .Net下面就用NAnt,因为很难保证其它语言的build工具能适应自己语言的特性。 |
|
jinheking
2007-04-18
build如何使用?能不能写一份说明告诉大家?
我支持build |
|
qiezi
2007-04-18
build很简单:
.\main.d .\make.brf .\module_foo\module_bar\zoo.d 各文件内容: // zoo.d: void zoo() { } // main.d: void main() { zoo(); } // make.brf: main.d 就可以了。 你可以build main.d,也可以build @make。 build配置文件的其它常用参数,可以把每个参数写在一行: -cleanup 编译后清理掉.o文件 -L-lpthread linux下链接libpthread.so -LIBPATH=c:\db 设置库链接路径 libdb45.lib 直接链接windows下使用的lib文件 -op .o文件输出到源文件所在路径 -odobjs 把.o文件输出到objs文件夹 -T../bin/test 编译的可执行文件输出路径 一个简单的brf文件: -cleanup -op -L-ldb -LIBPATH=/home/lijie/dm/lib:/home/lijie/dmd/lib:/usr/local/BerkeleyDB.4.5/lib src/test.d -T../bin/test LIBPATH后面多个路径的分隔符,在windows下是分号 |
|
jinheking
2007-04-18
谢谢!
|
|
qiezi
2007-04-18
dxpcom里面有个build.sh,原来内容是:
dmd test.d -L"-L../xulrunner" -L"-lxpcom" -L"-lxul" -L"-lmozjs" \ mozilla/xpcom/nsIComponentManager.d \ mozilla/xpcom/nsIComponentRegistrar.d \ mozilla/xpcom/nsIFactory.d \ mozilla/xpcom/nsISimpleEnumerator.d \ mozilla/xpcom/nsILocalFile.d \ mozilla/xpcom/nsIFile.d \ mozilla/xpcom/nsIModule.d \ mozilla/xpcom/nsISupports.d \ mozilla/xpcom/nsDebug.d \ mozilla/xpcom/nsIServiceManager.d \ mozilla/xpcom/nsIDirectoryServiceProvider.d \ mozilla/xpcom/nsIMemory.d \ mozilla/xpcom/nsIDebug.d \ mozilla/xpcom/nsITraceRefcnt.d \ mozilla/xpcom/nsID.d \ mozilla/xpcom/nsError.d \ mozilla/xpcom/nsStringAPI.d \ mozilla/xpcom/nsXPCOM.d \ mozilla/xpcom/nscore.d \ mozilla/xpcom/nsrootidl.d \ mozilla/dxpcom/StringAPI.d \ mozilla/dxpcom/QueryInterface.d \ -inline -release rm *.o -rf 现在只需要: test.d -op -L-lxpcom -cleanup |
|
sofire
2007-08-05
// zoo.d:
void zoo() { } // main.d: void main() { zoo(); } // make.brf: main.d 这种写法编译不了。 错误提示: function expected before (), not module zoo of type void 是不是因为模块zoo和函数zoo冲突? |