[新闻] dxpcom v0.1 发布

h_rain 2007-04-25
G:\rain\D_XpCOM>bud buildlib.brf
src\mozilla\xpcom\nsIDOMCSSPrimitiveValue.d(102):Error:identifier 'nsIDOMCounter' is not defined
src\mozilla\xpcom\nsIDOMCSSPrimitiveValue.d(102):Error:nsIDOMCounter is used as a type
src\mozilla\xpcom\nsIDOMCSSPrimitiveValue.d(105):Error:identifier 'nsIDOMRect' is not defined
src\mozilla\xpcom\nsIDOMCSSPrimitiveValue.d(105):Error:nsIDOMRect is used as a type
src\mozilla\xpcom\nsIDOMCSSPrimitiveValue.d(108):Error:identifier'nsIDOMRGBColor'is not defined
src\mozilla\xpcom\nsIDOMCSSPrimitiveValue.d(108):Error:nsIDOMRGBColor is usedas a type
src\mozilla\all.d(725):module nsIMsgWindowData cannot read file'mozilla\xpcom\nsIMsgWindowData.d'


:(
你那没问题吗?SVN里面没有nsIMsgWindowData.d呀
qiezi 2007-04-25
有几个类生成有些问题。。晚上回去处理,有些你不需要使用,所以你只需要测试你要使用的就行了。buildlib目前是给我测试用的,它会导入所有模块,这样可以知道有哪些编译不过。
qiezi 2007-04-25
samples/xml.d我修改了一下,编译可以通过,不过build有点问题,我是直接使用dmd做的,命令行如下:

E:\dxpcom\samples>dmd -ofe:\xulrunner\xml.exe xml.d -I..\src e:\xulrunner\xpcom.lib ..\src\mozilla\xpcom\nsID.d ..\src\mozill
a\xpcom\nsIDOMParser.d ..\src\mozilla\xpcom\nsISupports.d


问题是CreateInstanceByContractID失败,你有时间看看是什么问题,不会是xulrunner里面没这东西吧。。。
h_rain 2007-04-25
G:\rain\D_XpCOM\samples>bud test.d -PP..\src
OPTLINK (R) for Win32  Release 7.50B1
Copyright (C) Digital Mars 1989 - 2001  All Rights Reserved

G:\rain\D_XpCOM\src\mozilla\dxpcom\StringAPI.obj(StringAPI)
 Error 42: Symbol Undefined _NS_StringContainerInit
G:\rain\D_XpCOM\src\mozilla\dxpcom\StringAPI.obj(StringAPI)
 Error 42: Symbol Undefined _NS_StringGetData
G:\rain\D_XpCOM\src\mozilla\dxpcom\StringAPI.obj(StringAPI)
 Error 42: Symbol Undefined _NS_StringContainerFinish
G:\rain\D_XpCOM\src\mozilla\dxpcom\StringAPI.obj(StringAPI)
 Error 42: Symbol Undefined _NS_CStringContainerInit
G:\rain\D_XpCOM\src\mozilla\dxpcom\StringAPI.obj(StringAPI)
 Error 42: Symbol Undefined _NS_CStringGetData
G:\rain\D_XpCOM\src\mozilla\dxpcom\StringAPI.obj(StringAPI)
 Error 42: Symbol Undefined _NS_CStringContainerFinish
G:\rain\D_XpCOM\src\mozilla\dxpcom\StringAPI.obj(StringAPI)
 Error 42: Symbol Undefined _NS_StringContainerInit2
G:\rain\D_XpCOM\src\mozilla\dxpcom\StringAPI.obj(StringAPI)
 Error 42: Symbol Undefined _NS_CStringContainerInit2
test.obj(test)
 Error 42: Symbol Undefined _NS_InitXPCOM2
test.obj(test)
 Error 42: Symbol Undefined _NS_GetComponentManager
test.obj(test)
 Error 42: Symbol Undefined _NS_ShutdownXPCOM


这个怎么不行?

是我没给xpcom.lib?
qiezi 2007-04-25
这个是要xpcom.lib,用implib导出一个就行了
qiezi 2007-04-25
成功了,要把生成的文件拷到xulrunner目录下去执行,还真是晕,nsILocalFile就不用拷过去。

要搞清楚xpcom加载的目录亚,怎么去设置它而不用拷过去,不然以后测试很麻烦的。

你可以试试XML解析了,我那个xml.d只写了一点,有时间你把它补充看看吧,先做个遍历。
qiezi 2007-04-25
终于全部通过了,除了nsIMsgWindowData这个,它和其它任何一个都没有关联,却无法让它通过,还真是郁闷,不管它了。

正在SVN提交,按以前的经验,大概要20分钟以上才能完成。。

我在我的机器上使用build @buildlib成功创建了一个dxpcom.a文件,windows上还没测试。
qiezi 2007-04-25
windows上也可以build出静态库了,不过build在windows上效率可是真低亚。另外build程序最好使用-op参数,否则在windows上会提示一堆莫名其妙的错误,在linux上则提示找不到.o文件,应该是个BUG。
h_rain 2007-04-25
xpcom.lib 我在Mozilla上下载的Gecko-SDK,使用里面的Lib文件就不行。能全部通过真是太好了!
我试试弄一个静态库试试。
qiezi 2007-04-25
gecko-sdk里面的lib是VC生成的COFF格式吧,应该不能直接用,转成 OMF才行,或者是从xpcom.dll导出一个。
Global site tag (gtag.js) - Google Analytics