Ада-95. Компилятор GNAT



         

Импорт других проектов - часть 2


gnatmake -P/app/app_proj

При этом, генерация исполняемого модуля app_main

осуществляется в том же каталоге где располагается файл проекта "app_proj.gpr".

Когда импортируемый файл проекта использует стандартное расширение имени файла (gpr) указание расширение имени файла в предложении with файла проекта может быть опущено (как показано в примере выше).

Показанный выше пример использует указание абсолютных путей для каждого импортируемого файла проекта. Альтернативно, каталог может быть не указан, когда:

Импортируемый файл проекта располагается в том же каталоге, в котором расположен импортирующий файл проекта.

  • Определена переменная окружения ADA_PROJECT_PATH, которая включает каталог содержащий необходимый файл проекта.

    Следовательно, при наличии переменной окружения ADA_PROJECT_PATH, которая включает каталоги "/gui" и "/comm", файл проекта приложения "app_proj.gpr", может быть написан следующим образом:

    with "gui_proj", "comm_proj"; project App_Proj is

    for Main use ("app_main"); end App_Proj;

    Следует учитывать, что способность импорта других проектов обладает потенциальной двусмысленностью.

    Например, один и тот же модуль может присутствовать в различных импортируемых проектах, или такой модуль может присутствовать как в импортируемом проекте, так и в импортирующем проекте.

    Оба случая являются условием возникновения ошибки.

    Следует заметить, что для текущей версии менеджера проектов GNAT (версия 3.15) наличие двусмысленного модуля является недопустимым даже тогда, когда импортирующий проект не содержит обращений к этому модулю.

    Это строгое правило может быть ослаблено в последующих реализациях менеджера проектов.




    Содержание  Назад  Вперед