How do I Create files needed to build and use DLLs under Linux?

Posted on in Categories last updated March 5, 2006

You need to use command called dlltool. It create files needed to build and use DLLs. dlltool reads its inputs, which can come from the -d and -b options as well as object files specified on the command line. It then processes these inputs and if the -e option has been specified it creates an exports file. If the -l option has been specified it creates a library file and if the -z option has been specified it creates a def file. Any or all of the -e, -l and -z options can be present in one invocation of dlltool.

Here is an example of creating a DLL from a source file dll.c:

$ gcc -c dll.c
$ dlltool -e exports.o -l dll.lib dll.o
$ gcc dll.o exports.o -o dll.dll

Where,

  • -c : Specifies that when dlltool is creating the exports and library files it should omit the “.idata5” section. This is for compatibility with certain operating systems.
  • -e: Specifies the name of the export file to be created by dlltool.
  • -l : Specifies the name of the library file to be created by dlltool.

Creating a program (from an object file called program.o) that uses that DLL:

$ gcc program.o dll.lib -o program

Read the man page of dlltool for more information.

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.

Share this on (or read 0 comments/add one below):