用DMD编译D工程
Compile D project with DMD
这可能是最愚蠢的新手问题,但我如何在 windows 上使用 DMD 实际编译 D 项目?
我尝试了这些命令:
dmd *
dmd *.d
cd .. && dmd {DirectoryName}
dmd file1.d file2.d
但他们都没有将项目编译为可执行文件。
我想从该项目中生成 .exe
文件,但我似乎做不到。我在项目中只能编译一个文件或者编译多个,但是只能编译.obj
个文件,不能编译.exe
...
DUB 对初学者来说是最简单的:
C:\Users7216x715132\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:\Users7216x715132\Desktop\tmp1'.
Package successfully created in .
C:\Users7216x715132\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:\Users7216x715132\Desktop\tmp1>
您可以将所有 d 文件复制到 your-project\source\ 目录,让 dub 完成所有繁重的工作。
dub init
由于某种原因在 git bash 中不起作用,因为它等待 CLI 上的输入。所以你需要从 cmd.exe 到 dub init
。 dub run
从 git bash.
应该可以正常工作
如果你运行它来自gitbash,按回车键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:\Users7216x715132\Desktop\tmp1'.
Package successfully created in .
arun MINGW64 ~/Desktop/tmp1$
中的相关问题
如果你不喜欢 Dub,你可以试试 rdmd,它是标准 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
这可能是最愚蠢的新手问题,但我如何在 windows 上使用 DMD 实际编译 D 项目?
我尝试了这些命令:
dmd *
dmd *.d
cd .. && dmd {DirectoryName}
dmd file1.d file2.d
但他们都没有将项目编译为可执行文件。
我想从该项目中生成 .exe
文件,但我似乎做不到。我在项目中只能编译一个文件或者编译多个,但是只能编译.obj
个文件,不能编译.exe
...
DUB 对初学者来说是最简单的:
C:\Users7216x715132\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:\Users7216x715132\Desktop\tmp1'.
Package successfully created in .
C:\Users7216x715132\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:\Users7216x715132\Desktop\tmp1>
您可以将所有 d 文件复制到 your-project\source\ 目录,让 dub 完成所有繁重的工作。
dub init
由于某种原因在 git bash 中不起作用,因为它等待 CLI 上的输入。所以你需要从 cmd.exe 到 dub init
。 dub run
从 git bash.
如果你运行它来自gitbash,按回车键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:\Users7216x715132\Desktop\tmp1'.
Package successfully created in .
arun MINGW64 ~/Desktop/tmp1$
中的相关问题
如果你不喜欢 Dub,你可以试试 rdmd,它是标准 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