如何设置绑定的替代路径 (Gnat ADA)

How to setup alternative path for binding (Gnat ADA)

我尝试使用 libncursesada 绑定编译示例 ada 源文件。 Gnat,在编译过程中,找不到使用 apt-get 安装的 libncursesada。

软件配置: 蚊虫 7.3.0 xubuntu 18.04

代码:

-- hello.adb

with Terminal_Interface.Curses; use Terminal_Interface.Curses;

procedure Hello is
  C : Key_Stroke;
  Msg : String := "Hello, world!";

begin
  Init_Windows;          
  Add(Standard_Window, Msg, Msg'Length); 
  Refresh;                              
  C := Get_Keystroke;                  
  End_Windows;                        
  Curses_Free_All;
end Hello;

编译错误:

gnat compile hello.adb
gcc-7 -c hello.adb
hello.adb:1:06: file "terminal_interface.ads" not found
gnatmake: "hello.adb" compilation error

libncursesada 软件包与 apt-get 一起安装:

libncursesada-doc/bionic,bionic,now 6.0.20170708-2 all  [installé]
  Ada binding to the ncurses text interface library: documentation

libncursesada5/bionic,now 6.0.20170708-2 amd64  [installé, automatique]
  Ada binding to the ncurses text interface library: shared library

libncursesada5-dev/bionic,now 6.0.20170708-2 amd64 

文件可以放在这个目录中: /usr/share/ada/adainclude/ncursesada/

/usr/share/ada/adainclude/ncursesada$ ls -l terminal_interface.*
-rw-r--r-- 1 root root 3115 août   9  2017 terminal_interface.ads

当我使用标准绑定(例如Gnat.IO)进行编译时,一切正常,所以我想我必须指定在哪里可以找到这个其他绑定广告文件给编译器。

我无法在此绑定文档(libncursesada-doc 文件夹)中找到有关如何设置编译和链接的说明。

推荐的方法是什么?

我已经阅读了一些关于其他附加绑定的说明,例如将路径添加到 PATH 或 LD_LIBRARY_PATH 到 .bashrc 中。 要添加到 gpr 文件中的参数?

谢谢。

此致。

libncursesada-dev 包含一个 GPRBuild 项目文件:

/usr/share/ada/adainclude/ncursesada.gpr

因此 link 反对它的最简单方法是使用 GPRBuild 作为构建系统:

with "ncursesada";

project Hello is
   -- should suffice for your example
   for Main use ("hello.adb");
end Hello;

您可能需要设置 GPR_PROJECT_PATH 环境变量以包含 /usr/share/ada/adainclude 以便可以找到 ncursesada.gpr 项目;我不确定 debian 是否为您正确设置了它。

将以上内容保存为hello.gpr后,您可以使用

编译您的代码
gprbuild hello.gpr