Ada_Ru форум

Обсуждение языка Ада

Gnat Project Files

Оставить новое сообщение

Сообщения

Alexander
Gnat Project Files
2009-03-24 18:18:07

Здравствуйте.

Вот есть у меня у меня каталог

/tmp/1

в нем лежат два файла a.gpr и a.adb

В файле a.adb подключается пакет p.ads (with P;)

 

Есть каталог /tmp/1/include

в нем лежит p.ads

 

Каким образом в Project файле a.gpr указать путь инклюдов к папке /tmp/1/include ?

Вот содержимое файла сборки проетка:

 

project A is

 

for Main use ("a.adb");

 

for Object_Dir use ".objs";

 

package Compiler is

for Default_Switches ("Ada") use ("-g", "-I./include");

end Compiler;

 

end A;

 

 

Когда пишу в консоли gnatmake -P a.gpr получаю вот такую ошибку:

> gnatmake -P a.gpr

gnatgcc -c -g -I/tmp/1/./include -I- -gnatA /tmp/1/a.adb

gnatmake: "p.ads" not found

 

Когда пишу: gnatmake -I/tmp/1/./include -P a.gpr

 

gnatbind -I/tmp/1/./include -I- -x /tmp/1/.objs/a.ali

gnatlink /tmp/1/.objs/a.ali -o /tmp/1/.objs/a

 

То все отлично.

On Tue, 24 Mar 2009 21:18:07 +0300, you wrote:

 

Каким образом в Project файле a.gpr указать путь инклюдов к папке /tmp/1/include ?

Вот содержимое файла сборки проетка:

 

project A is

 

for Main use ("a.adb");

 

for Object_Dir use ".objs";

 

for Source_Dirs use (".", "/tmp/1/include", "/tmp/2/include");

Если нужно индивидуальные файлы из списка директорий выбирать но добавьте

for Source_Files use (<список-имен>);

 

package Compiler is

for Default_Switches ("Ada") use ("-g", "-I./include");

 

Не надо -I, нехорошо будет.

 

--

Regards,

Dmitry A. Kazakov

http://www.dmitry-kazakov.de

On Tue, 24 Mar 2009 23:47:25 +0300, you wrote:

 

Dmitry A. Kazakov пишет:

 

Не надо -I, нехорошо будет.

 

А вот почему нельзя писать -I ?

 

Чтобы не мешалось с определениями проекта. Кроме того, это только компилятору "gcc -c" пойдет, а надо всем, кому эта директория может быть нужна, так, как -I работает в gnatmake.

 

--

Regards,

Dmitry A. Kazakov

http://www.dmitry-kazakov.de

Dmitry A. Kazakov пишет:

 

Не надо -I, нехорошо будет.

 

А вот почему нельзя писать -I ?

 

Чтобы не мешалось с определениями проекта. Кроме того, это только

компилятору "gcc -c" пойдет, а надо всем, кому эта директория может быть

нужна, так, как -I работает в gnatmake.

 

Чтобы шло в gnatmake, надо в пакет Builder флаги писать.

 

Не надо так делать потому что это смешивает две системы компиляции,

старую и новую.

 

GNAT проекты довольно мощные и выразительные (ну или я, может, мало на

свете повидал), особенно, если их вручную прописывать, через IDE я так и

не приноровился. Не вижу не одной причины использовать непроектные средства.

 

-- If you want to get to the top, you have to start at the bottom

(repost)

 

Dmitry A. Kazakov пишет:

 

Не надо -I, нехорошо будет.

 

А вот почему нельзя писать -I ?

 

Чтобы не мешалось с определениями проекта. Кроме того, это только

компилятору "gcc -c" пойдет, а надо всем, кому эта директория может быть

нужна, так, как -I работает в gnatmake.

 

Чтобы шло в gnatmake, надо в пакет Builder флаги писать.

 

Не надо так делать потому что это смешивает две системы компиляции,

старую и новую.

 

GNAT проекты довольно мощные и выразительные (ну или я, может, мало на

свете повидал), особенно, если их вручную прописывать, через IDE я так и

не приноровился. Не вижу не одной причины использовать непроектные средства.

 

-- If you want to get to the top, you have to start at the bottom

Новое сообщение:
Страницы: 1

Чтобы оставить новое сообщение необходимо Зарегистрироваться и Войти