Previous: Installing a library, Up: General Ada Libraries
Once again, the project facility greatly simplifies the use of
libraries. In this context, using a library is just a matter of adding a
with
clause in the user project. For instance, to make use of the
library My_Lib
shown in examples in earlier sections, you can
write:
with "my_lib"; project My_Proj is ... end My_Proj;
Even if you have a third-party, non-Ada library, you can still use GNAT's
Project Manager facility to provide a wrapper for it. For example, the
following project, when with
ed by your main project, will link with the
third-party library liba.a:
project Liba is for Source_Dirs use (); for Library_Dir use "lib"; for Library_Name use "a"; for Library_Kind use "static"; end Liba;
In order to use an Ada library manually, you need to make sure that this library is on both your source and object path (see Search Paths and the Run-Time Library (RTL) and Search Paths for gnatbind). Furthermore, when the objects are grouped in an archive or a shared library, you need to specify the desired library at link time.
For example, you can use the library mylib installed in /dir/my_lib_src and /dir/my_lib_obj with the following commands:
$ gnatmake -aI/dir/my_lib_src -aO/dir/my_lib_obj my_appl \ -largs -lmy_lib
This can be expressed more simply:
$ gnatmake my_appl
when the following conditions are met:
ADA_INCLUDE_PATH
, or by the administrator to the file
ada_source_path
ADA_OBJECTS_PATH
, or by the administrator to the file
ada_object_path
Linker_Options
has been added to one of the sources.
For example:
pragma Linker_Options ("-lmy_lib");