Q: how to get C code to work in D?

Myron Alexander someone at somewhere.com
Tue Jun 12 13:46:24 PDT 2007


BCS wrote:
> Reply to Hoenir,
> 
>> I got a C file (it's a library, so in C you would create a static
>> library and link it to another program) I want to use in D.
>> I already created the necessary d file as described here:
>> http://www.digitalmars.com/d/interfaceToC.html
>> But how do I link the C code? dmd isn't able to compile C files.
>>
>> I know how to get a dll working (creating C dll, corresponding lib
>> with
>> implib and then adding that lib to the command line of dmd) but I want
>> it to be statically linked like in C.
>> Any hints?
> 
> Download dmc (the digital mars C compiler) and build the lib with that. 
> Then pass the .obj's or .lib to dmd with everything else. Or use 
> link.exe directly.
> 
> 

If you already have an obj file but it won't link, it could be that the 
obj format is not compatible with the obj format used by digital mars, 
in which case you can use one of the converters. I do not know the 
digital mars tool-chain but I am sure that someone else has had to solve 
this problem so it will be in the archives.

Regards,

Myron.


More information about the Digitalmars-d-learn mailing list