www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Add multiple modules to a DLL

reply peter <p.adject mdt.org> writes:
Greetings,

I'm stuck here again. I compiled successfully the dll sample (d calling d code)
in the D web site.

The issue here is that i want to add multiples modules to the dll file.
I'm able to compile and create the dll but test.d is unable to find the other
modules, it only recognizes contents from mydll.d.

Am i doing something wrong? Please help.

Thanks in advace.
Jan 09 2008
next sibling parent peter <p.adject mdt.org> writes:
peter Wrote:

 Greetings,
 
 I'm stuck here again. I compiled successfully the dll sample (d calling d
code) in the D web site.
 
 The issue here is that i want to add multiples modules to the dll file.
 I'm able to compile and create the dll but test.d is unable to find the other
modules, it only recognizes contents from mydll.d.
 
 Am i doing something wrong? Please help.
 
 Thanks in advace.

These words might be dificult to understand, attachments in this web-news based forum were impossible so i uploaded to megaupload a zip file with the dll sample from the website, it includes the source and precompiled binaries, Also, thereīs an ini.d file (copyright (c) Chris Miller www.dprogramming.com), thatīs a file i want to include in the dll but i get this module not being found and with a few tweaks i get symbol errors. I really donīt know what to do. You can download the file from http://www.megaupload.com/?d=87CHSW75 The source included compiles just fine, i haven't added a single line related to ini.d, itīs clean. Thanx 4 your support guys, youīve allways been there when needed, thatīs unvaluable, thanx 4 keepeng the D community group alive.
Jan 09 2008
prev sibling parent reply Don Clugston <dac nospam.com.au> writes:
peter wrote:
 Greetings,
 
 I'm stuck here again. I compiled successfully the dll sample (d calling d
code) in the D web site.
 
 The issue here is that i want to add multiples modules to the dll file.
 I'm able to compile and create the dll but test.d is unable to find the other
modules, it only recognizes contents from mydll.d.
 
 Am i doing something wrong? Please help.
 
 Thanks in advace.

* You need to pass all the filenames on the command line, eg dmd mydll.d test.d *You can also use bud/build instead. You *cannot* use rebuild/dsss to build a dll. Bud works very well for me with making DLLs. Although I've never tried to use a D DLL from D, only from C++.
Jan 09 2008
parent reply peter <p.adject mdt.org> writes:
Don Clugston Wrote:

 peter wrote:
 Greetings,
 
 I'm stuck here again. I compiled successfully the dll sample (d calling d
code) in the D web site.
 
 The issue here is that i want to add multiples modules to the dll file.
 I'm able to compile and create the dll but test.d is unable to find the other
modules, it only recognizes contents from mydll.d.
 
 Am i doing something wrong? Please help.
 
 Thanks in advace.

* You need to pass all the filenames on the command line, eg dmd mydll.d test.d *You can also use bud/build instead. You *cannot* use rebuild/dsss to build a dll. Bud works very well for me with making DLLs. Although I've never tried to use a D DLL from D, only from C++.

yes, i have done this (the dll compiles fine) but the main exe is unable to compile because it doesnīt recognizes the ini module in the dll.
Jan 11 2008
parent reply torhu <no spam.invalid> writes:
peter wrote:
 Don Clugston Wrote:
 
 * You need to pass all the filenames on the command line,
 eg
 dmd mydll.d test.d
 *You can also use bud/build instead. You *cannot* use rebuild/dsss to build a
dll.
 Bud works very well for me with making DLLs. Although I've never tried to use
a 
 D DLL from D, only from C++.

yes, i have done this (the dll compiles fine) but the main exe is unable to compile because it doesnīt recognizes the ini module in the dll.

What error messages do you get, exactly?
Jan 11 2008
parent peter <p.adject mdt.org> writes:
torhu Wrote:

 peter wrote:
 Don Clugston Wrote:
 
 * You need to pass all the filenames on the command line,
 eg
 dmd mydll.d test.d
 *You can also use bud/build instead. You *cannot* use rebuild/dsss to build a
dll.
 Bud works very well for me with making DLLs. Although I've never tried to use
a 
 D DLL from D, only from C++.

yes, i have done this (the dll compiles fine) but the main exe is unable to compile because it doesnīt recognizes the ini module in the dll.

What error messages do you get, exactly?

I get symbol errors: _D3ini3Ini7_ClassZ And you canīt simple declare an import in a def file because you canīt declare = mydll.ini.Ini (it doesnīt work) or = ini.Ini (as ini.dll doesnīt exists)
Jan 14 2008