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

dmd.2.029 编译过程

阅读更多
D编译完全开源了,于是忍不住下载了最新的dmd编译源码(dmd.2.029),然后在Redhat AS3上进行编译,但是还是遇到了一些小问题。下面将详细过程介绍一下:
1) 先解压
unzip dmd.2.029.zip
便生成目录 dmd, 该目录下有:src/, linux/, windows/samples/ 等目录
2) 编译dmd编译器
cd dmd/src/dmd/
make
# 便会报错
backend/dwarf.c:54:26: ../mars/mars.h: No such file or directory
# 于是创建目录同时要拷贝两个文件至新建目录:
make mars
cp mars.h mars/
cp complex_t.h mars/

# OK,编译器完毕,将以下几个可执行文件拷贝至 dmd/linux/bin/ 目录下:
cp dmd idgen optabgen  impcnvgen ../../linux/bin/

3) 编译运行时库
cd dmd/src/druntime/src
chmod 755 build-dmd.sh
./build-dmd.sh
# 于是报错
: No such file or directory
# 为找到各种原因,本人花了好久,终于搞明白是因为 build-dmd.sh 的原始格式为DOS格式,
# 所以需要转换为 unix 格式
# 于是乎用工具将 build-dmd.sh 由DOS格式转换为UNIX格式, 再运行:
./build-dmd.sh
# Ok
4) 编译 phobos 库,里面包含常用的函数库
cd dmd/src/phobos
make -f linux.mak
# 于是报错
make: *** No rule to make target `../druntime/lib/libdruntime.a', needed by `obj/posix/release/libphobos2.a'.  Stop.
# 解决方法如下:
cd dmd/src/druntime/lib/
ln -s release/libdruntime.a libdruntime.a
# 然后
cd dmd/src/phobos
make -f linux.mak
# ok, 编译 phobos 成功,同时会自动将库 libphobos2.a 拷贝至 dmd/linux/lib/ 目录

5) 最后将 dmd/src/druntime/lib/release/ 目录下的所有库拷贝至 dmd/linux/lib/ 目录,
同时修改环境变量设置,将 xxx/dmd/linux/bin, xxx/dmd/linux/lib 放入个人环境变量中

不知即将发布的 dmd.2.030 会不会将这些小问题都给解决了:)
另外,本人在编译 dmd/samples/ 下的例子时,发现基本上是编译不过去,查看了源码,原来里面用的库基本都是 dmd.1.0 的库,希望 Walter Bright 等人将此类问题都解决了,呵呵

注:以上仅是将DMD.2.029 在Redhat AS4的编译过程,如果想要在AS3上编译通过,还需要将附件的 linux.mak 替换 src/phobos/ 目录下的 linux.mak;
补充:如果你用的DMD.2.030在 AS3上编译,则需要将 linux.2.030.rar 替换 src/phobos/ 下的 linux.mak;
个人微博:http://weibo.com/zsxxsz
0
0
分享到:
评论

相关推荐

    编译器源代码之:DMD(D语言)dmd.2.026

    DMD的版本dmd.2.026代表着这个编译器的一个特定迭代,它在开发过程中不断优化和增强,以适应D语言的发展和用户需求。 编译器是将高级编程语言转换为机器可执行代码的关键工具。DMD作为D语言的编译器,其源代码公开...

    black_white_dmd.m

    用于控制sim显微镜中的dmd部分。 此代码可以控制dmd产生规则的图形。以控制显微镜光源形状

    d语言,dmd.2.042

    **DMD.2.042:D语言的官方编译器** DMD(Digital Mars D Compiler)是D语言的主要编译器,由沃德·坎宁安开发。版本2.042是这个编译器的一个特定更新,通常会包含性能改进、错误修复和新的语言特性的支持。对于...

    DMD.zip_DMD_DMD模态_dmd特征值_selectps3_动态模态分解

    在这个“DMD.zip”压缩包中,包含的是一个关于DMD应用的具体实例,特别是与“DMD模态”和“特征值”相关的分析。 动态模态分解的核心思想是将高维时间序列数据分解为一系列简化的动态模式,这些模式代表了系统演化...

    dmd.rar_DMD

    标题中的“dmd.rar_DMD”很可能指的是“Dot Matrix Display”(点阵显示器)的库文件,用于在Arduino平台上操作矩阵显示屏。这个压缩包可能包含了实现这种显示效果所需的代码和其他资源。 Arduino DMD库是专门为在...

    DFL for DMD2.031

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

    DMD.zip_DMD_DMD时间积分_dmd 编程_dmd编程

    在压缩包"**DMD.zip**"中,可能包含了与DMD编程相关的软件工具、库文件、示例代码或文档,它们可以帮助开发者更好地理解和实现DMD的相关设置。通过深入学习这些资料,开发者可以熟练掌握DMD编程技巧,从而在实际项目...

    Hi3798CV2DMD.zip

    在Hi3798CV2DMD的硬件开发过程中,开发者需要依据这些资料进行以下工作: 1. **芯片评估**:通过原理图了解Hi3798CV200的引脚功能,评估其是否满足项目需求,比如处理能力、解码格式、接口类型等。 2. **外围电路...

    DMD.rar_DMD 代码_dmd matlab程序_dmd分解_matlab dmd_分解

    动态模式分解的matlab 代码,有注释

    dmd.js:简单的基于 html 画布的 JavaScript 点阵显示库

    通过dmd.js,你可以将文本、图像或者其他数据转化为这种复古的点阵样式。 ### 一、JavaScript基础 dmd.js是用JavaScript编写的,这是一种广泛用于网页开发的动态编程语言。JavaScript主要负责网页的交互性,可以...

    dmd2.065_D语言2.065发布_396处修正和改进_

    2. **性能优化**:DMD 2.065很可能包含了针对编译速度和生成代码性能的改进。编译器的优化往往直接影响到开发者的迭代速度和程序运行效率,因此,这些改进对于D语言社区来说是个巨大的福音。 3. **语言特性的完善**...

    Schematic-FLD3 DMD Board.pdf

    根据提供的文档信息,我们可以提取出以下有关DMD(Digital Micromirror Device)板的相关知识点,主要用于DLP(Digital Light Processing)技术,该技术是由TI(德州仪器)公司开发的。 首先,DMD板是DLP系统中的...

    DMD2-master_DMD_源码.zip

    DMD2源码包含了编译器的实现细节,对于想要深入理解D语言、编译原理或者对编译器开发感兴趣的开发者来说,这是一个宝贵的资源。 D语言是由C++之父Bjarne Stroustrup的同事Walter Bright设计的一种现代系统编程语言...

    DMD2-master_DMD_

    【DMD2-master_DMD_】是一个与动态模式分解(DMD, Dynamic Mode Decomposition)相关的源代码库。DMD是一种强大的数据分析技术,主要用于处理时间序列数据,特别是应用于流体动力学、信号处理和图像分析等领域。这个...

    DMD_ROM.zip_DMD_DMD分析_mode decomposition_特征 降维_非定常

    在非定常流动研究中,DMD可以揭示流动结构的演变规律,例如涡旋生成、合并和破裂等过程。这种洞察力对于优化工程设计(如飞机机翼或涡轮叶片的气动性能)以及气象预报等领域都至关重要。 综上所述,"DMD_ROM.zip...

    PODandDMD_本征正交分解_动模态分解_POD和DMD_

    在提供的压缩包文件中,“POD_DMD.m”很可能是一个MATLAB脚本,用于实现这两种方法的计算。"license.txt"是软件许可文件,而"pod_dmd.txt"可能是关于这两种方法的介绍或者使用说明。 综上所述,POD和DMD是流体力学...

    Dynamic Mode Decomposition (DMD).zip

    然后,定义DMD矩阵Ω为V_kΣ_k^1/2,DMD模式φ_i可以通过计算ΩU(:,i)获得,其中i=1,2,...,k。 5. **DMD频率和增益**:DMD频率ω_i可通过解复数特征值问题ΩΩ^Hλ=σ_i^2计算得出,对应于每个DMD模式的频率。DMD...

    POD_DMD-master.zip_CFD_DMD_POD_模态分析_降阶

    在本资源"POD_DMD-master.zip"中,包含的是一套针对CFD数据进行处理和分析的方法,主要涉及两种关键的技术:主成分分析(PCA,Principal Component Analysis)也称为POD( Proper Orthogonal Decomposition)和动态...

    DMD_Spreadsheets.zip

    2. SLOAN-INVESTORSII.xls:Sloan可能是指麻省理工学院斯隆管理学院,此文件可能涉及到投资者分析或者投资组合管理,帮助投资者评估投资策略,理解风险与回报的关系,进行有效的资产配置。 3. CASTRBDG.xls:可能是...

    数字微镜-DMD-alp42-python-api

    5. 开始显示,如`dmd.start_display()`,并控制显示时间或持续时间. 6. 在完成显示后,关闭DMD,如`dmd.stop_display()`. 以上就是对DMD数字微镜器件及其Python API的基本介绍,以及如何使用提供的API进行编程控制...

Global site tag (gtag.js) - Google Analytics