首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >D的实际构建系统

D的实际构建系统
EN

Stack Overflow用户
提问于 2012-03-13 00:21:53
回答 3查看 545关注 0票数 7

我知道有DSSSBUD/build,雅各布·卡尔伯格的Orbit和官方的rdmd。而且似乎只有轨道是活跃的。那么,在构建具有许多依赖项的大型复杂D程序时,哪种方法最有用呢?不需要打包,只需要漂亮而清晰的构建过程助手。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-16 10:08:00

它们也是,在这里使用makefile的模板:MakefileForD

为什么要使用它:

  • 易于使用
  • 支持所有编译器
  • 能够构建共享库和静态库或可执行库
  • // build
票数 4
EN

Stack Overflow用户

发布于 2012-03-13 05:57:11

不是成品,而是....

DMD已经有了一个可以让自动生成make文件变得相当简单的-deps flag

票数 4
EN

Stack Overflow用户

发布于 2015-03-29 05:57:22

我绝对支持rdmd --它是包装您最喜欢的编译器的一个很好的帮助器。文档中的基本用法是:

代码语言:javascript
复制
rdmd [rdmd args] [compiler args] <source file>[.d] [executable args]

在我的所有D项目中,我只是简单地使用了Bash脚本(如果在Windows上使用Cygwin ),它工作得非常好。下面是我最喜欢的一些代码片段:

rdmd的全部存在理由是将编译-编辑-运行循环简化为编辑-运行,它使这一过程变得非常简单:

代码语言:javascript
复制
rdmd helloworld.d [args]

rdmd不会运行时间戳晚于上次编译的任何文件,因此下次运行相同的源文件时,不进行编辑,它将直接传递到先前编译的可执行文件。

选择编译器

尽管名称如此,但您可以在rdmd中使用大多数编译器,如GDC、LDC和DMD,如下所示:

代码语言:javascript
复制
rdmd --compiler=dmd ...

内部版本:

通常,rdmdrdmd源代码中使用tmpDir()将源代码中的可执行文件和*.obj文件存储在一个临时目录中-这基本上是为了给rdmd以脚本形式运行*.d文件的感觉。但是,您可以使用-of标志指定输出文件:

代码语言:javascript
复制
rdmd -of"helloworld.exe" helloworld.d
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9670822

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档