gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 18:28:59 24 4
gpt4 key购买 nike

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

软件配置:
GNAT 7.3.0
徐本图 18.04

代码 :

-- 你好.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

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

我在这个绑定(bind)文档(libncursesada-doc 文件夹)中找不到关于这个的说明,如何设置编译和链接。

推荐的方法是什么?

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

谢谢。

此致。

最佳答案

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

关于ubuntu - 如何设置绑定(bind)的替代路径(Gnat ADA),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51707993/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com