View mode: basic / threaded / horizontal-split · Log in · Help
August 09, 2012
Using MinGW DLL with DMD?
Is it possible to link a DLL compiled for MinGW with DMD?

-- 
/Jacob Carlborg
August 09, 2012
Re: Using MinGW DLL with DMD?
On Thursday, 9 August 2012 at 13:43:18 UTC, Jacob Carlborg wrote:
> Is it possible to link a DLL compiled for MinGW with DMD?

Yeah, I've use dlls made in gcc with dmd. You need to run implib
over the dll to get a .lib and then it works pretty easily.

implib /s mydll.lib mydll.dll


implib can be found in the basic utilities package at digital
mars.

http://www.digitalmars.com/download/freecompiler.html
August 09, 2012
Re: Using MinGW DLL with DMD?
On Thursday, 9 August 2012 at 13:43:18 UTC, Jacob Carlborg wrote:
> Is it possible to link a DLL compiled for MinGW with DMD?

Yes, it is possible.

Long ago i have dealt with this almost on a daily basis (we used 
Borland C++ Builder on Windows in the former company I worked 
for).

The easiest method is to use DEF files to create the import 
library. If you do not have it, you can use some tool that will 
analyse the DLL, make the DEF file for you, and then you modify 
it to your needs, and then create the import library for your 
target toolchain.

This article explains everything you need to know: 
http://wyw.dcweb.cn/stdcall.htm

Regards
August 09, 2012
Re: Using MinGW DLL with DMD?
On Thursday, 9 August 2012 at 13:48:14 UTC, Adam D. Ruppe wrote:
> On Thursday, 9 August 2012 at 13:43:18 UTC, Jacob Carlborg 
> wrote:
>> Is it possible to link a DLL compiled for MinGW with DMD?
>
> Yeah, I've use dlls made in gcc with dmd. You need to run implib
> over the dll to get a .lib and then it works pretty easily.
>
> implib /s mydll.lib mydll.dll
>
>
> implib can be found in the basic utilities package at digital
> mars.
>
> http://www.digitalmars.com/download/freecompiler.html

Yes, this works in most cases, but when it does not, then you 
have to use DEF files and modify/add symbols. It is not 
complicated, just time-consuming...
August 09, 2012
Re: Using MinGW DLL with DMD?
On 2012-08-09 15:48, Adam D. Ruppe wrote:

> Yeah, I've use dlls made in gcc with dmd. You need to run implib
> over the dll to get a .lib and then it works pretty easily.
>
> implib /s mydll.lib mydll.dll
>
>
> implib can be found in the basic utilities package at digital
> mars.
>
> http://www.digitalmars.com/download/freecompiler.html

Thanks, I'll give it a try.

-- 
/Jacob Carlborg
August 09, 2012
Re: Using MinGW DLL with DMD?
There's an example:
http://my.opera.com/run3/blog/2012/01/24/mixing-c-and-d-on-windows-part-1
Top | Discussion index | About this forum | D home