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 withed 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");