[Ubuntu 19.10下为Ada 2012提供的NCurses构建环境

问题描述 投票:0回答:1

我有一个即将到来的Ada项目(命令行交互式控制台程序),我想使用ncurses之类的东西来简化屏幕管理。

我已经安装了以下软件包(在Ubuntu 19.10下具有最新更新:]

  • GNAT 8.3.0
  • libncurses-dev
  • libncursesada-dev
  • libncursesada6.2.20180127
  • libncursesada6.2.20180127-dev

在“ ...... / libncursesada-doc / examples /”目录中,有很多演示程序,尝试构建其中的任何一个都会引起投诉,例如:

$ gnatmake rain
aarch64-linux-gnu-gcc-8 -c rain.adb
rain.adb:44:06: file "terminal_interface.ads" not found
rain.adb:44:06: "Rain (body)" depends on "Ncurses2.Util (spec)"
rain.adb:44:06: "Ncurses2.Util (spec)" depends on "Terminal_Interface (spec)"
rain.adb:47:06: file "terminal_interface.ads" not found
gnatmake: "rain.adb" compilation error

此丢失的文件是否表示这组软件包已损坏,或者我只是在某个地方错过了一个?

或者换句话说,我是用ncurses叫错了树吗?有没有可以与Ada完美搭配的现代替代品?

terminal ada ncurses interactive
1个回答
0
投票

这在Debian 10上对我有用。

安装:

$ sudo apt-get install\
  libncurses-dev\
  libncursesada-doc\
  libncursesada6.2.20180127\
  libncursesada6.2.20180127-dev

创建新目录:

$ cd ~
$ mkdir rain
$ cd ~/rain

现在建立。在这种情况下,我们需要使用-aI(另请参阅here)提供对源目录的引用。但是,链接失败。似乎GNATmake不会将交换机-lncursesada传播到链接器(不确定原因),所以我在一个单独的步骤中完成了它(请参见下文):

$ gnatmake \
  -aI/usr/share/doc/libncursesada-doc/examples \
  -aI/usr/share/ada/adainclude/ncursesada \
  -lncursesada \
  -vh \
  rain.adb

[...]
x86_64-linux-gnu-gnatlink-8 rain.ali      (???)
[...]  

链接(由于GNATmake失败)。

$ gnatlink -lncursesada rain.ali
© www.soinside.com 2019 - 2024. All rights reserved.