D语言中国主页  D语言编辑器SciTE4D   DWin库 D语言官方网站
D语言编译器1.x最新版 OpenSource   Tango   webnews  Wiki

查看完整版本: D语言Gui库DFL介绍与安装

yidabu 2007-5-5 08:29

D语言Gui库DFL介绍与安装

D语言Gui库DFL介绍与安装

tag:D语言GUI,D语言界面编程,D语言开发

[b]D语言Gui库DFL下载[/b]

    推荐用 svn客户端工具下载,把下面的内容:
    [url]http://svn.dsource.org/projects/dfl/trunk/win32/dfl[/url]
    导出到
    dmd\src\other\dfl\
   
    这样就不用去跟踪dfl的新版本发布,随时可以导出最新版.

        如果你不会用svn, 也可以到下面的页面下载zip压缩包:
        [url]http://www.dprogramming.com/dfl.php[/url]
   

[b]D语言GUI库DFL的编译[/b]

   编译方法一(简便方法):
    DFL源文件目录里的 go.bat和makelib.bat是用来编译dfl.lib的,下面是编译基于Tango的DFL库的方法:
    新建文件:
    dmd\src\other\dfl\dfl_tango.bat
    内容如下:
   
    set dmd_path=D:\pathto\dmd
    set dmc_path=D:\pathto\dm
    set dlib=Tango
    call go.bat
    copy dfl.lib D:\pathto\tango\lib
    pause   
   
    把上面的路径改成你的实际路径,copy句把dfl.lib复制到tango的lib目录下.
    pause是为了能看到编译结果.
   
   
    编译方法二:
    DFL源文件目录里的 go.bat和makelib.bat是用来编译dfl.lib的,点击go.bat进行编译.
    但问题是dfl同时支持Phobos和Tango库,而 D语言中文论坛 [url]http://bbs.d-programming-language-china.org/[/url] 提倡大家用Tango库,要编译基于Tango的dfl.lib,要修改一下go.bat和makelib.bat,事实上我以前就是这样做的,有没有更好的办法?
    办法是有的,我们就用DSSS+SciTE4D来编译DFL.如果你还没有安装DSSS, 请按照下面的教程安装:
    [url]http://bbs.d-programming-language-china.org/thread-605-1-1.html[/url]
   
    首先在dmd\src\other\目录新建一个dsss.conf文件,内容如下:
[quote][dfl]
target=dfl
type=library
postbuild=copy /y dfl.lib ..\..\tango\lib\dfl.lib[/quote]

    target=dfl是指定输出文件名是dfl
    type=library是指定编译库
    postbuild句是编译结束后把库复制到tango的lib目录,这里用了相对路径,你可以根据你的实际改成绝对路径.当然,如果你喜欢手动复制dfl.lib,可以把这行删掉.
   
    上面已经完成了所有工作的99%, 接下来就要打开SciTE4D, 什么,你还没有安装SciTE4D, 立即到下面地址下载:
    [url]http://scite4d.d-programming-language-china.org/[/url]
   
    用SciTE4D打开任意一个dfl源文件,按F7, 就自动编译出dfl.lib并复制到tango\lib目录下,如果出错,会有提示.
    编译好后,把dfl.lib加到dmd\bin\sc.ini的DFLAGS里,这样以后在写dfl相关程序时就不用显式指定dfl.lib了.
   
    sc.ini的DFLAGS行里要有dfl.lib,类似这样(不要照抄,要照你的实际情况设置):
   
    [quote]DFLAGS="-I%@P%\..\tango;%@P%\..\src\other;" -version=Tango -defaultlib=tango-base-dmd.lib -L+tango-user-dmd.lib+dfl.lib[/quote]
   
   
   
[b]D语言Gui库DFL的第一个实例[/b]


    在SciTE4D里新建文档,把下面代码贴进去,并保存为D:\hello\dchina.d[code]import dfl.all;

int main()
{
    Form myForm;
    Label myLabel;

    myForm = new Form;
    myForm.text = "hello, D Language China";
    myForm.width = 600;
    myForm.height = 300;

    myLabel = new Label;
    myLabel.font = new Font("Verdana", 14f);
    char[] str =  
    " http://www.d-programming-language-china.org/ \n"
    " http://bbs.d-programming-language-china.org/ \n"
    " http://scite4d.d-programming-language-china.org/ ";
    myLabel.text = str;
    myLabel.location = Point(15, 15);
    myLabel.autoSize = true;
    myLabel.parent = myForm;

    Application.run(myForm);

    return 0;
}[/code]新建D:\hello\dsss.conf文件,里面内容如下:
   
[quote][dchina.d]
buildflags=-version=Tango[/quote]

    然后在SciTE4D里按F7编译出dchina.exe,按F5运行dchina.exe, 如果出错,会有提示信息,照提示修正即可.
   
    [img]http://bbs.d-programming-language-china.org//attachments/d/20070419dflconfig1_w.gif[/img]


[b]相关资源:[/b]

        DFL主页:
        [url]http://www.dprogramming.com/dfl.php[/url]

        DFL Wiki:
        [url]http://wiki.dprogramming.com/Dfl/HomePage[/url]

        DFL Wiki 文档:
        [url]http://wiki.dprogramming.com/DflDoc/HomePage[/url]

        DFL讨论区:
        Forum: [url]http://dsource.org/forums/viewforum.php?f=39[/url]

        IRC:
        [url]http://www.dprogramming.com/dirclib.php[/url]

[b]本文历史[/b]

    20070419
    初版,写出自己编译DFL库的经过
   
    20070315
    3月,D语言论坛地址从
    [url]http://www.d-programming-language-china.org[/url]
    更改到
    [url]http://bbs.d-programming-language-china.org[/url]
    将近一年过去了,现在再看以前所写的D语言普及文章,有不少要改进的地方(比如以前dfl不提供svn下载)
    本文基本全部重写了,结合SciTE4D来编译DFL库,更加简单
    重写文章,测试代码,重新截图并上传,贴到论坛,我总是一再在干这样在别人看来浪费时间的sha shi...,D语言国内高手不少,希望高手也来多写些D语言的普及文章,每个人都是这样过来的
页: [1]
查看完整版本: D语言Gui库DFL介绍与安装