`
ideage
  • 浏览: 326253 次
社区版块
存档分类
最新评论

DFL 2.027,1.041,2,3编译

阅读更多

注:DFL已经更新,http://www.dprogramming.com/dfl/snapshots/dfl-20090411.zip

 

感谢Chris! 整理下DFL 0.9.8 ,支持D2.027和D1.042

 

DFL0.98也支持D2了.但仅仅支持到D2.020,2.021加入了druntime,没有继续支持.

 

看看D2的新特性,也想试试.和 hqs7636 聊天中,发现有类似的需求.

 

简单写下支持方法:

 

1.修改application.d registry.d
messagebox.d,textbox.d data.d等,把\r\n修改成"\r\n",或者\r修改为"\r"

2.修改dlib.d
把OutOfMemoryException替换为OutOfMemoryError

3.drawing.d
修改solidColor,
blendColor两个属性,把return *this;修改成return this;

4.修改makelib,添加all.d,all.obj到dfl_files,dfl_objs

 

5.dmd 2.027 成功编译.

 

6.dmd1.041,2,3要编译,仅仅修改4就OK了.否则提示:Error 42: Symbol Undefined _D3dfl3all12__ModuleInfoZ

 

将D2的修改上传了:http://dlang.group.iteye.com/topics/download/c14626b1-5691-317d-b798-a7662d2b146e

下载后覆盖原来的文件,把dlib.d复制到internal文件夹,用-version=DFL_DMD2020ABOVE编译.

 

 

分享到:
评论
13 楼 betty_betty2008 2009-04-14  
1.用dfl -version=DFL_DMD2020ABOVE 编译提示
dlib.d( line 538):module gc cannot read file 'std\gc.d'
2.用go 可编译,无出错提示,但试建一Entice 单文件工程,不能编译。
12 楼 ideage 2009-04-14  
5.1你的makelib文件不正确.可能是用记事本修改断行了.

5.2 你的D2安装在了DTWO\windows\bin ,可你的dmd执行文件却是c:\dmd\bin\dmd,设置不正确.

5.3和5.2一样.你的目录不正确.

我的目录:

DFL: D:\D\dmd2\windows\import\dfl
DMD: D:\D\dmd2\windows\bin
DMC: D:\D\dm\bin

DMD目录下的 sc.ini
修改为 DFLAGS="-I%@P%\..\..\src\phobos" "-I%@P%\..\..\src\druntime\import" "-I%@P%\..\import"
加入了"-I%@P%\..\import"

11 楼 betty_betty2008 2009-04-14  
今天又试了一下,还是不行.
1.下载DMD2027,解压至C:\DTWO,目录结构大致如下:
C:\DTWO
---\DTWO\windows\bin
---\DTWO\winodws\lib
2.运行DFL098安装程序,不选"同时编译",安装目录为C:\DTWO\windows;
dfl.exe 安装在C:\DTWO\windows\bin;
3.将D2的修改上传了:http://dlang.group.iteye.com/topics/download/c14626b1-5691-317d-b798-a7662d2b146e

下载后覆盖原来的文件,把dlib.d复制到internal文件夹;
4.修改makelib,添加all.d,all.obj到dfl_files,dfl_objs

set dfl_files=all.d base.d  。。。。

set dfl_objs=all.obj base.obj 。。。。
5.C:\dtwo\windows\import\dfl目录下,在命令行执行编译命令,共做了如下几种尝试:
5.1.dfl -version=DFL_DMD2020ABOVE,敲y:

Compiling debug DFL...

C:\DTwo\windows\import\dfl>c:\DTwo\windows\bin\dmd -c -debug -g set _dfl_flags=
-I.. all.d base.d application.d internal/dlib.d internal/clib.d internal/utf.d
internal/com.d control.d form.d registry.d drawing.d menu.d notifyicon.d commond
ialog.d filedialog.d folderdialog.d panel.d textbox.d richtextbox.d picturebox.d
listbox.d groupbox.d splitter.d usercontrol.d button.d label.d collections.d in
ternal/winapi.d internal/wincom.d event.d socket.d timer.d environment.d message
box.d tooltip.d combobox.d treeview.d tabcontrol.d colordialog.d listview.d data
.d clipboard.d fontdialog.d progressbar.d resources.d statusbar.d imagelist.d to
olbar.d
Error: cannot read file set.d

Failed.

Done.
Could Not Find C:\DTwo\windows\import\dfl\*.obj
DFL lib files not found.
Error: dfl_debug.lib not found

C:\DTwo\windows\import\dfl>
5.2 再次修改makelib.bat,找到set _dfl_flags=%dfl_flags% 一行,做如下修改:
set _dfl_flags=%dfl_flags% -version=DFL_DMD2020ABOVE
然后运行go.bat:
DMC not found; using DMD path (if you get errors, install DMC)

Compiling debug DFL...

C:\DTwo\windows\import\dfl>c:\dmd\bin\dmd -c -debug -g  -version=DFL_DMD2020ABOV
E  -I.. all.d base.d application.d internal/dlib.d internal/clib.d internal/utf.
d internal/com.d control.d form.d registry.d drawing.d menu.d notifyicon.d commo
ndialog.d filedialog.d folderdialog.d panel.d textbox.d richtextbox.d picturebox
.d listbox.d groupbox.d splitter.d usercontrol.d button.d label.d collections.d
internal/winapi.d internal/wincom.d event.d socket.d timer.d environment.d messa
gebox.d tooltip.d combobox.d treeview.d tabcontrol.d colordialog.d listview.d da
ta.d clipboard.d fontdialog.d progressbar.d resources.d statusbar.d imagelist.d
toolbar.d
The system cannot find the path specified.

Failed.

Done.
Could Not Find C:\DTwo\windows\import\dfl\*.obj
Failed.
Press any key to continue . . .
Done.

C:\DTwo\windows\import\dfl>
5.3.在5.2中出错信息DMC not found; using DMD path (if you get errors, install DMC),依此,下载安装DMC 至C:\DTWO\,形成目录如下:
C:\DTWO\dm\bin;
C:\DTWO\dm\lib;
并将上两行添至系统环境变量path中;
与5.2一样出错信息.

10 楼 hurd 2009-04-12  
dfl svn更新到2.028和1.043了。
9 楼 hqs7636 2009-04-08  
4.修改makelib,添加all.d,all.obj到dfl_files,dfl_objs
将这条加个示例

例如:
set dfl_files=all.d base.d  。。。。

set dfl_objs=all.obj base.obj 。。。。
8 楼 hqs7636 2009-04-08  
刚才仔细读了一下makelib.bat文件,我是这么加的:

@echo.
@echo Compiling debug DFL...

%dmd_path%\bin\dmd -c %dfl_debug_flags% %_dfl_flags% -I.. %

dfl_files% -version=DFL_DMD2020ABOVE


@echo.
@echo Compiling release DFL...

%dmd_path%\bin\dmd -c %dfl_release_flags% %_dfl_flags% -I.. %

dfl_files% -version=DFL_DMD2020ABOVE

编译成功

还是你那个更简单,谢了

7 楼 ideage 2009-04-08  
已经够完整了.你用2.0吧.
你没有把把dblib.d复制到internal文件夹.

修改下makelib,添加一行set _dfl_flags=%dfl_flags% -version=DFL_DMD2020ABOVE

用go或者makelib编译就OK了.
6 楼 hqs7636 2009-04-08  
能写个完整的编译方法吗?谢谢

用原来的makelib.bat及go.bat不行了,报:internal\dlib.d(538): Error: module gc cannot read file 'std\gc.d'

现在的路径全不对了
5 楼 ideage 2009-04-07  
ah,真是的,修改了!2.027!
4 楼 hqs7636 2009-04-07  
这也是标题党,还跑出2.037了,呵呵
3 楼 ideage 2009-04-07  
呵呵,没有耐心了.

我们自己的活着吧...
2 楼 ideage 2009-04-07  
1.041,2.037编译的程序明显比较大:1.3M,而1.031-36才680k-720k.
1 楼 hurd 2009-04-07  
不知为啥D项目那么多都半死不活了。。。

相关推荐

    DFL for DMD2.031

    在实际开发中,DFL for DMD2.031的使用方法可能包括引入库依赖、配置编译选项、编写基于DFL的代码等步骤。开发者可以通过阅读官方文档、博客文章(如博文链接所示:https://godspeedhu.iteye.com/blog/423419)或者...

    TOSHIBA-TC55257DFL.pdf

    TOSHIBA-TC55257DFL.pdf

    DFL ST说明书

    DFL-ST II工具是一款由磁动电子科技自主开发的专业ST硬盘固件修复工具,与深受大家喜爱和赞誉的DFL-WD为兄弟产品。 DFL-ST II工具主要针对市面上的7200.7-7200.10系列及11、12代的F3系列的ST硬盘而设计。DFL-ST II...

    DLINK DFL-210.800.1600的固定IP設定方式

    DFL系列防火牆簡易安裝手冊 DFL-210,260,800,860,1600,2500 適用

    DFL Printting!

    描述中提到的"20080303,DMD1.027,xp,dfl0.97"可能是这个项目的一个版本信息,表明该软件在2008年3月3日更新到了DMD 1.027版本,并且适用于Windows XP系统,同时DFL自身是0.97版。DMD通常指的是Digital Mars D编译器...

    PyPI 官网下载 | DFL168A-1.0.0-py3-none-any.whl

    标题中的“PyPI 官网下载 | DFL168A-1.0.0-py3-none-any.whl”表明这是一个在Python Package Index(PyPI)官网上发布的软件包,名为DFL168A,版本号为1.0.0。这个包是为Python 3编写的,其构建格式是wheel,且适用...

    DFL系列防火墙PPTP功能的使用.pdf

    DFL系列防火墙PPTP功能的使用.pdf

    DFL系列防火墙接入到ISP.pdf

    DFL系列防火墙接入到ISP.pdf

    minicom-2.4.tar.gz

    为了让普通用户也能使用minicom,需要修改 `/etc/minirc.dfl` 文件,然后运行 `sudo chown root:root /etc/minirc.dfl` 和 `sudo chmod 644 /etc/minirc.dfl`。 7. **启动minicom**: 安装完成后,输入`minicom -...

    PADS、AD和CANDENCE相互转换.docx

    1. 首先,需要将原理图导出到 TXT 文档中,版本选择 2005.2。 2. 打开 AD6.9 软件,选择文件,向导导入选择 PADS ASCII Design And Library Files,选择我们刚刚导出的 TXT 文档。 3. 全部选下一步,转换完成。 ...

    Pytorch 实现冻结指定卷积层的参数

    1. 冻结参数是一个不可逆的操作,一旦在训练之前设置了`requires_grad=False`,那么这些参数在当前训练的epoch中将不会更新,直到模型重新启动。 2. 在执行训练之前,需要正确地配置哪些层需要被冻结以及哪些层需要...

    希捷7200.12扇区访问中断使用DFL-DDP数据恢复设备解决

    然而,DFL-DDP数据博士数据恢复设备提供了一种有效的解决方案。这款设备集成了一套针对希捷、三星、西数等品牌硬盘的自动修复功能,特别针对7200.12系列硬盘的通病设计。 在面对希捷7200.12的扇区访问中断问题时,...

    DFL系列防火墙应用于内部网络借鉴.pdf

    DFL系列防火墙应用于内部网络借鉴.pdf

    Premiere插件DFL2调色插件

    DFL2调色插件 DFL2调色插件 DFL2调色插件

    sm2246XT 15纳米 DFL EFL JFL 4way.zip

    标题中的"sm2246XT 15纳米 DFL EFL JFL 4way.zip"指的是一个专门针对SM2246XT主控芯片的开卡工具,该工具适用于15纳米制程的存储设备。这个压缩包包含了不同类型的固件或软件,可能用于处理DFL(Data Flash Loader)...

    DFL-WD中文说明书

    DFL-DE是专业的数据恢复软硬件USB2.0设备,该组件能够对ATA,SATA所有硬盘进行数据恢复,该设备也能够对连接于DFL-WD的SATA端口使用48位寻址方式的硬盘工作,同也也可以对任何操作系统识别的存储装置进行数据恢复。...

Global site tag (gtag.js) - Google Analytics