Thread overview
DMD: How to compile executable without producing .obj file?
Nov 05
BoQsc
Nov 09
Kagamin
Nov 12
novice2
November 05

When you compile using dmd compiler you will often get .exe and .obj file.

I would like to only produce .exe file:

dmd -release -Ldatatypes.lib example.d

I tried dmd option:

-o-               do not write object file

But it also prevents production of .exe file.
Essentially producing nothing as a result.

November 09

The .exe is produced by the linker, which works with files: it takes one or more .obj files with program code and links them into and .exe file. I heard ldc has builtin linker or something like that, so hypothetically might be able to link on the fly.

November 09

On Sunday, 5 November 2023 at 18:58:48 UTC, BoQsc wrote:

>

When you compile using dmd compiler you will often get .exe and .obj file.

I would like to only produce .exe file:

On linux, gdc automatically cleans up object files by default. Passing it the -pipe option will prevent their creation in the first place. Maybe it will have the same behaviour on windows.

November 12

on windpows you can hide (move .obj away from sources dir) by add to compile command
-od="%TEMP%\dmd\myproject"