Thread overview
d++: Error: Could not execute `dmd c.o .\foo.d -offoo.exe`:
Nov 21, 2020
Jack
Nov 21, 2020
Ferhat Kurtulmuş
Nov 22, 2020
Jack
Nov 22, 2020
kinke
Nov 22, 2020
Jack
November 21, 2020
I'm trying to get d++ to work on Windows 10/64-bit machine but it doesn't work. I'm using the very same code samples c.c, c.h and foo.dpp from here https://github.com/atilaneves/dpp/tree/master/bash but when I went to run:

> d++ foo.dpp c.o

I got the error:

> Error: Could not execute `dmd c.o .\foo.d -offoo.exe`:
> Error: unrecognized file extension o

dmd version:
>DMD32 D Compiler v2.094.1-dirty

gcc version:
>gcc version 6.3.0 (MinGW.org GCC-6.3.0-1)

d++ the least one, build from sources

my OS is windows 10/64-bit. What am I missing?
November 21, 2020
On Saturday, 21 November 2020 at 17:25:46 UTC, Jack wrote:
> I'm trying to get d++ to work on Windows 10/64-bit machine but it doesn't work. I'm using the very same code samples c.c, c.h and foo.dpp from here https://github.com/atilaneves/dpp/tree/master/bash but when I went to run:
>
>> d++ foo.dpp c.o
>
> I got the error:
>
>> Error: Could not execute `dmd c.o .\foo.d -offoo.exe`:
>> Error: unrecognized file extension o
>
> dmd version:
>>DMD32 D Compiler v2.094.1-dirty
>
> gcc version:
>>gcc version 6.3.0 (MinGW.org GCC-6.3.0-1)
>
> d++ the least one, build from sources
>
> my OS is windows 10/64-bit. What am I missing?

I have never used dpp, but the github page says you should use LDC, not DMD. And I could not find anything implying gcc is supported.


November 22, 2020
On Saturday, 21 November 2020 at 19:34:31 UTC, Ferhat Kurtulmuş wrote:
> On Saturday, 21 November 2020 at 17:25:46 UTC, Jack wrote:
>> I'm trying to get d++ to work on Windows 10/64-bit machine but it doesn't work. I'm using the very same code samples c.c, c.h and foo.dpp from here https://github.com/atilaneves/dpp/tree/master/bash but when I went to run:
>>
>>> d++ foo.dpp c.o
>>
>> I got the error:
>>
>>> Error: Could not execute `dmd c.o .\foo.d -offoo.exe`:
>>> Error: unrecognized file extension o
>>
>> dmd version:
>>>DMD32 D Compiler v2.094.1-dirty
>>
>> gcc version:
>>>gcc version 6.3.0 (MinGW.org GCC-6.3.0-1)
>>
>> d++ the least one, build from sources
>>
>> my OS is windows 10/64-bit. What am I missing?
>
> I have never used dpp, but the github page says you should use LDC, not DMD. And I could not find anything implying gcc is supported.

what the docs says is about to use ldc2 to build from source code, which I did. That failed dmd call is done by d++ internally.
November 22, 2020
On Saturday, 21 November 2020 at 17:25:46 UTC, Jack wrote:
> I got the error:
>
>> Error: Could not execute `dmd c.o .\foo.d -offoo.exe`:
>> Error: unrecognized file extension o
>
> dmd version:
>>DMD32 D Compiler v2.094.1-dirty
>
> gcc version:
>>gcc version 6.3.0 (MinGW.org GCC-6.3.0-1)

DMD expects .obj for Windows. So you'll probably have to use the MS compiler or clang to emit an MSVC-compatible object file, and then use either -m32mscoff or -m64 for DMD.
November 22, 2020
On Sunday, 22 November 2020 at 03:05:45 UTC, kinke wrote:
> On Saturday, 21 November 2020 at 17:25:46 UTC, Jack wrote:
>> I got the error:
>>
>>> Error: Could not execute `dmd c.o .\foo.d -offoo.exe`:
>>> Error: unrecognized file extension o
>>
>> dmd version:
>>>DMD32 D Compiler v2.094.1-dirty
>>
>> gcc version:
>>>gcc version 6.3.0 (MinGW.org GCC-6.3.0-1)
>
> DMD expects .obj for Windows. So you'll probably have to use the MS compiler or clang to emit an MSVC-compatible object file, and then use either -m32mscoff or -m64 for DMD.

that worked, thanks! i used MS C compiler to get the object file
> cl /arch:IA32 /c c.c
then:
> d++ -m32mscoff foo.dpp c.obj
worked fine