Stuff:
1. There are C code module.c and module.h
2. MinGW
3. DMD 2.066.1
4. Window 8.1

module.c:

#include "module.h"
int add(int a, int b) {return a + b;}

module.h:

int add(int,int);

I want to use function "add" from D

so i call

cc -shared module.c -o module.dll

Then D code

main.d:

import std.stdio;

extern(C)
{
        int add(int a, int b);
}

void main()
{
        writefln("From C Dll %d",add(2,3));
}


So how i should compile with dmd, to get this work?

dmd main.d -L=module.dll

prints:
OPTLINK (R) for Win32  Release 8.00.15
Copyright (C) Digital Mars 1989-2013  All rights reserved.
http://www.digitalmars.com/ctg/optlink.html
OPTLINK : Error 8: Illegal Filename
main,,nul,user32+kernel32/noi=module.dll;

                              ^
--- errorlevel 1

I've tried to found smthing here http://wiki.dlang.org/Compiling_and_linking_with_DMD_on_Windows
but dll tutorial is missing

So does DMD available to link dll files?

Reply via email to