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

时间:2018-08-06 12:45:57

标签: ubuntu ada gnat

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

软件配置: GNAT 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文件中的参数?

谢谢。

最诚挚的问候。

1 个答案:

答案 0 :(得分:2)

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

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

最简单的链接方法是使用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