用DMD编译D项目

用DMD编译D项目,d,dmd,D,Dmd,这可能是最愚蠢和新手的问题,但我如何在windows上用DMD编译D项目呢 我尝试了以下命令: dmd* dmd*.d cd.&&dmd{DirectoryName} dmd文件1.d文件2.d 但他们都没有将项目编译为可执行文件 我想从那个项目中生成.exe文件,但似乎不行。我只能在项目中编译一个文件或编译多个文件,但只能编译.obj文件,而不能编译.exe。对于初学者来说是最简单的: C:\Users\217216x715132\Desktop\tmp1>dub init Pack

这可能是最愚蠢和新手的问题,但我如何在windows上用DMD编译D项目呢

我尝试了以下命令:

  • dmd*
  • dmd*.d
  • cd.&&dmd{DirectoryName}
  • dmd文件1.d文件2.d
但他们都没有将项目编译为可执行文件

我想从那个项目中生成
.exe
文件,但似乎不行。我只能在项目中编译一个文件或编译多个文件,但只能编译
.obj
文件,而不能编译
.exe

对于初学者来说是最简单的:

C:\Users\217216x715132\Desktop\tmp1>dub init
Package recipe format (sdl/json) [json]:
Name [tmp1]:
Description [A minimal D application.]:
Author name [217216X715132]:
License [proprietary]:
Copyright string [Copyright © 2019, 217216X715132]:
Add dependency (leave empty to skip) []:
Successfully created an empty project in 'C:\Users\217216x715132\Desktop\tmp1'.
Package successfully created in .

C:\Users\217216x715132\Desktop\tmp1>dub run
Performing "debug" build using dmd for x86.
tmp1 ~master: building configuration "application"...
Linking...
Running .\tmp1.exe
Edit source/app.d to start your project.

C:\Users\217216x715132\Desktop\tmp1>
您可以将所有d文件复制到project\source\目录,并让dub完成所有的艰苦工作

dub init
由于某种原因无法从git bash工作,因为它等待CLI上的输入。因此,您需要从cmd.exe执行
dub init
<代码>配音运行应该可以在git bash中正常工作

如果从GitBash运行它,请按enter键7次,所有默认值都将被接受,项目将被创建

arun MINGW64 ~/Desktop/tmp1$ dub init







Package recipe format (sdl/json) [json]: Name [tmp1]: Description [A minimal D application.]: Author name [217216X715132]: License [proprietary]: Copyright string [Copyright © 2019, 217216X715132]: Add dependency (leave empty to skip) []: Successfully created an empty project in 'C:\Users\217216x715132\Desktop\tmp1'.
Package successfully created in .

arun MINGW64 ~/Desktop/tmp1$

中的相关问题如果您不喜欢Dub,可以尝试使用标准D编译器附带的。例如,假设您有一个导入其他文件的main.d文件:

rdmd --build-only main.d            # Build
rdmd --build-only -g -debug main.d  # Build in debug mode
rdmd main.d                         # Build temporary executable and run it
如果要查看dub为构建项目而执行的原始命令,可以使用:

dub build --force --verbose

这取决于项目。。。我喜欢哪一个?有些人使用
dub build
,但这将是下一步要尝试的东西general@AdamD.Ruppe我没有使用
dub
,因为
dub init
做一个项目要花很长时间。是的,我也不使用dub。但你正在建设自己的项目?我可能只是列出文件,比如您的
dmd file1.d file2.d
。。。当您尝试这样做时会发生什么?当您执行
dmd file1.d file2.d
时是否有错误??您还提到了
cd..&&dmd{DirectoryName}
-您使用的是MSYS2还是类似版本?