www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - DLL symbol export with Bud & Tango

reply Alex <CppCoder gmail.com> writes:
I'm currently working on a very simply DLL library, which I'm compiling against
tango by way of the build utility (bud).  I've got a symbol I'm exporting via a
definition file, but whenever I try to compile the app, bud deletes it and does
not export the symbol.  What am I doing wrong?

command line for reference: bud main.d main.def kernel32.lib
Sep 20 2007
next sibling parent reply Alex <CppCoder gmail.com> writes:
Sorry, I should added that bud deletes my definition file only when I run it
with the -clean directive
Sep 20 2007
parent BCS <ao pathlink.com> writes:
Reply to alex,

 Sorry, I should added that bud deletes my definition file only when I
 run it with the -clean directive
 

I think, rather than use a .def file, you should use the "export " keyword like this export int fn(){...} but then I have never created a DLL.
Sep 20 2007
prev sibling parent Derek Parnell <derek psych.ward> writes:
On Thu, 20 Sep 2007 16:54:55 -0400, Alex wrote:

 I'm currently working on a very simply DLL library, 
which I'm compiling against tango by way of the build
 utility (bud).  I've got a symbol I'm exporting via
 a definition file, but whenever I try to compile the
 app, bud deletes it and does not export the symbol.
  What am I doing wrong?
 
 command line for reference: bud main.d main.def kernel32.lib

The problem is that it has the same name as the target exe. Try renaming it. bud main.d export.def kernel32.lib -- Derek Parnell Melbourne, Australia skype: derek.j.parnell
Sep 20 2007