`
hqs7636
  • 浏览: 216080 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

DFLsvn的安装和配置(dmd2.018)

阅读更多
压缩包的配置和安装在官网等地方有很多,就不多说了。

svn版本的安装和配置一直没找到,官网也没有,自己琢磨了一下,编译运行hello.d通过,现将配置过程和大家分享:

用svn下载最新版dfl,支持dmd2.017和dmd1.033,地址:
http://svn.dsource.org/projects/dfl/trunk/win32

1、打开dfl目录下makelib.bat文件,编辑如下两项为:
18行:set dmd_path=d:\d\dmd    你的dmd实际路径,下同。
21行:set dmc_path=d:\d\dm

2、保存并执行此文件,会编译出以dfl打头的三个.lib文件,确认无误后,

3、执行go.bat,会将刚编译出的三个.lib文件自动复制到dmd\lib目录下。

4、将svn下载的dfl包整个复制到dmd的import目录下,比如:D:\D\dmd\import\dfl

5、将dfl.exe文件复制到dmd\bin目录下(此文件svn包里没有,需要另外下载20080427的zip包,在bin目录下,别的行不行没试过。)
地址:http://wiki.dprogramming.com/Dfl/Snapshots

第4步好像是必须的,放到别的地方好象不行,用dfl.exe编译的时候只认它,不认系统路径。

至此安装配置就完了,比别的库简单多了吧,无需配置sc.ini等文件。接下来就是编译了。



新建一 hello.d 文件,内容如下:
import dfl.all;

int main()
{
   Form myForm;
   Label myLabel;
  
   myForm = new Form;
   myForm.text = "DFL Example";
  
   myLabel = new Label;
   myLabel.font = new Font("Verdana", 14f);
   myLabel.text = "Hello, DFL World!";
   myLabel.location = Point(15, 15);
   myLabel.autoSize = true;
   myLabel.parent = myForm;
  
   Application.run(myForm);
  
   return 0;
}



编译:
a、用dfl.exe编译:
在控制台下执行:
d:\prj > dfl -release hello.d -gui
将编译出hello.exe(541k)文件,执行它将得到和官网下一模一样的示例图。
如果有resource文件(比如.ico,.rc,.res),则使用 dfl -release hello.d hello.res -gui就可


b、用dmd编译:
dmd hello.d dfl.lib即可。这里需要连接dfl.lib

c、用dsss编译:
在源文件相同目录下新建 dsss.conf 文件,添加一行:[hello.d]
执行 dsss buile

b、c、两项目前还没试过,有别的发现以后再更新。

至此在2.018下面就有gui可用了,而且比dwt简单得多,编译出的文件也小很多,我在dmd1.034下编译出的exe文件有6m多,据说1.031下是1m多,一个带菜单、工具条、图标、布局复杂点的jface编译出有20多m,而且编译时间要大概3、4分钟,相对也复杂很多,现在玩 d 俺只想主要集中在语言方面,实在不想放太多时间在gui上,swt的中文资料也很少,在细节上跟swing也完全不同,dfl还可以参考.net 的中文msdn(目前还不知道差异有多大),以前一直不敢试它,用别的库用怕了,问题一直不断,但据 ideage 说用下来还不错,加上对tango也实在别扭,一直比较喜欢2.0的oo方式,所以打定注意试一下了。

下一步就要研究一下sqlserver2000 的导出,如果成功就可以真正开始 d 语言之旅了。
2.0下还没有可用的数据库呢,唉。。。在目前或较长的一段时间里玩 d 这可能是必须超越的一步,接下来c里面的一堆好东西就等着你了。

祝你顺利 !
分享到:
评论
2 楼 hqs7636 2008-09-18  
dfl好像也想跨平台,有一点东西,只是快一年没更新了。
1 楼 betty_betty2008 2008-09-04  
DFL 是C# 风格的,俺也一直比较喜欢,但只是针对WIN平台的啊,不能跨平台吧?

相关推荐

Global site tag (gtag.js) - Google Analytics