Mixing D and C - Windows
Mike Parker
aldacron at gmail.com
Mon Jan 2 19:43:10 PST 2012
On 1/3/2012 10:02 AM, DNewbie wrote:
> Thank you both.
>
> I've created a D DLL [http://dlang.org/dll.html], then I've loaded it from a C program [compiled with dmc].
> However, I'd want to be able to call it from a C program compiled with MSVC, and I got a link error - unresolved external symbol [link testdll.obj /implib:mydll.lib /out:testdll-msvc.exe]. The LoadLibrary works with both DMC/MSVC, but it isn't 'handy'.?.
>
>
That's because the object file formats used by DMC and MSVC are
different. DMC outputs OMF, MSCV uses COFF. If you download objconv[1],
you can use it to convert between the two formats. Something like
objconv -fcoff -nu mydll.lib mydll_mscv.lib
should do the trick.
[1] http://www.agner.org/optimize/objconv.zip
More information about the Digitalmars-d-learn
mailing list