Thread overview
Issue with WIKI example Win32_DLLs_in_D
Oct 21, 2014
Andre
Oct 21, 2014
Laeeth Isharc
Oct 22, 2014
andre
October 21, 2014
Hi,

by copy and paste the example from
http://wiki.dlang.org/Win32_DLLs_in_D
exactly as described, the following errors is thrown:

J:\Projects\Tests\Example>dmd test mydll.lib -g
OPTLINK (R) for Win32  Release 8.00.15
test.obj(test)
 Error 42: Symbol Undefined _D5mydll12__ModuleInfoZ

I created a batch program which executes the commands
as described on the wiki page:

dmd -c mydll -g
dmd mydll.obj mydll.def -g -L/map
C:\D\dmd2\windows\bin\implib /noi /system mydll.lib mydll.dll
dmd test mydll.lib -g

Could you check whats wrong with the example and maybe update the WIKI page?
Thanks.

Kind regards
André
October 21, 2014
Funnily enough I was just playing with this last night trying to get Excel to talk to dlang DLL.  I borrowed a C example elsewhere on web and used a different .def file.  Something like this:

LIBRARY         dprop
DESCRIPTION     'My DLL written in D'

EXETYPE			NT
CODE            PRELOAD DISCARDABLE
DATA            WRITE

EXPORTS
		useArray = useArray
		usemyTest = usemyTest

Where the two functions exported from D to excel were as above.  Try that and let me know.  If that doesn't work I will send you a link to from repository.


Tuesday, 21 October 2014 at 19:59:51 UTC, Andre wrote:
> Hi,
>
> by copy and paste the example from
> http://wiki.dlang.org/Win32_DLLs_in_D
> exactly as described, the following errors is thrown:

>
> J:\Projects\Tests\Example>dmd test mydll.lib -g
> OPTLINK (R) for Win32  Release 8.00.15
> test.obj(test)
>  Error 42: Symbol Undefined _D5mydll12__ModuleInfoZ
>
> I created a batch program which executes the commands
> as described on the wiki page:
>
> dmd -c mydll -g
> dmd mydll.obj mydll.def -g -L/map
> C:\D\dmd2\windows\bin\implib /noi /system mydll.lib mydll.dll
> dmd test mydll.lib -g
>
> Could you check whats wrong with the example and maybe update the WIKI page?
> Thanks.
>
> Kind regards
> André
October 22, 2014
I think there is a bigger issue with the mentioned example.
The command cannot work:
dmd test mydll.lib -g

test.d has an import statement to mydll. mydll has to be included in the command. But as mydll not only contains the exported dll functions but also DllMain, it cannot be compiled together with test which contains the main entry point.

Maybe the example can be corrected.

Kind regards
André

On Tuesday, 21 October 2014 at 21:57:06 UTC, Laeeth Isharc wrote:
> Funnily enough I was just playing with this last night trying to get Excel to talk to dlang DLL.  I borrowed a C example elsewhere on web and used a different .def file.  Something like this:
>
> LIBRARY         dprop
> DESCRIPTION     'My DLL written in D'
>
> EXETYPE			NT
> CODE            PRELOAD DISCARDABLE
> DATA            WRITE
>
> EXPORTS
> 		useArray = useArray
> 		usemyTest = usemyTest
>
> Where the two functions exported from D to excel were as above.
>  Try that and let me know.  If that doesn't work I will send you a link to from repository.
>
>