Dynamic library builder

In order to facilitate the creation of C dynamic libraries using EiffelStudio, a wizard helps generate the definition files used to define the contents of the shared library. If for some reason you need to override the wizard, the syntactic rules of the definition files are available, but their knowledge is not necessary to use the generation of dynamic libraries in EiffelStudio.

The wizard is accessible in the Tools/ Dynamic library builder menu.

The dynamic library window that appears when selecting this menu is mainly composed of a list which contains all features that should be exported. This list is course empty at first.

Note: The layout of this wizard is slightly different on Windows and on Unix systems, because the index and calling convention fields never appear on Unix systems.

To add a new feature to the definition file, you can either:

  • Pick the feature from any place in EiffelStudio and drop it into the list. If several creation procedures exists in the container class, a dialog is popped up to give the choice between all possible creation procedures.
  • Or, use the Add command in the Edit/ Add menu. This pops up a dialog where it is possible to enter manually all parameters for the exported feature.

Other commands of the Edit menu allow you to remove exported features or to modify their export parameters .

It is also possible to check the validity of the definition file. This command performs both a global check, to ensure that for example two features do not have the same name or same index in the library, and also local checks, that check for each feature that the parameters are valid.

Other commands, located in the File menu, give standard file operations, such as opening a definition file, creating a new definition file ,or saving the current definition file .

Tip: Although the wizard can handle several files during the same EiffelStudio session, remember that only one file can be used in the project settings to effectively generate a shared library.

cached: 02/20/2017 2:04:28.000 PM