2013-02-01 51 views

回答

5

Debian中的Ada支持(基于Ubuntu)的优点在于,您不需要与ADA_INCLUDE_PATH和朋友混淆;受支持的库安装在GNAT Project Manager希望找到它们的地方。说gnatls -v看到默认值。

要按照预期使用该系统,您会发现使用GNAT项目管理器要简单得多;你会说,你my_project.gpr文件,

with "apq"; 
project My_Project is 
    ... 

$ gnatmake -P my_project 

online documentation for GPR建设,但我不会把它特别人性化。有a set of Youtube videos(我没有详细看过它们;他们表示的兴趣是大型系统,但是在那里)。

+2

+1离开APQ库其中'的apt-GET'使他们和引用在生成脚本库;另请参阅这些[示例](http://stackoverflow.com/q/13479748/230513)。 – trashgod

+0

我使用gnatmake来构建如何以正确的方式引用我的构建路径? –

+0

如果你说'gnatls -v',它会在最后显示项目搜索路径包含'/ usr/share/ada/adainclude';当你安装'libapq1-dev'的时候,它会把'apq.gpr'放在'gnatmake'中,以便在你的'.gpr'中找到'apq';'。所有使用APQ所需的构建路径都会在不需要做任何其他工作的情况下为您进行整理;没有必要乱用'-aI'或'-aO'。总而言之,使用已经难以为您提供GPR文件的库构建“正确方法”是使用它们**。我不是说他们总是对的,当然,但是试试吧! –

2

我使用gnatmake来构建;我如何以正确的方式引用我的构建路径?

相关选项显示在6.2 Switches for gnatmake: Source and library search path switches

附录:开发包为libapq3.2.0-dev

  • 该手册在/usr/share/doc/libapq3.2.0-dev/manual.pdf.gz

  • 一个例子和相应.gpr文件是/usr/share/doc/libapq3.2.0-dev/examples。作为@Simon建议的,.gpr文件的开头:

    with "apq.gpr"; 
    project APQ.Samples is 
    
  • ADA的包含文件中/usr/share/ada/adainclude/apq

  • 这些库位于/usr/lib

 
$ dpkg -L libapq3.2.0-dev 
/. 
/usr 
/usr/share 
/usr/share/ada 
/usr/share/ada/adainclude 
/usr/share/ada/adainclude/apq 
/usr/share/ada/adainclude/apq/apq_helper.ads 
/usr/share/ada/adainclude/apq/apq_helper.adb 
/usr/share/ada/adainclude/apq/apq.adb 
/usr/share/ada/adainclude/apq/apq.ads 
/usr/share/ada/adainclude/apq.gpr 
/usr/share/doc 
/usr/share/doc/libapq3.2.0-dev 
/usr/share/doc/libapq3.2.0-dev/copyright 
/usr/share/doc/libapq3.2.0-dev/manual.pdf.gz 
/usr/share/doc/libapq3.2.0-dev/examples 
/usr/share/doc/libapq3.2.0-dev/examples/apq-samples.adb 
/usr/share/doc/libapq3.2.0-dev/examples/apq-samples.ads 
/usr/share/doc/libapq3.2.0-dev/examples/apq-samples.gpr 
/usr/lib 
/usr/lib/libapq.a 
/usr/lib/ada 
/usr/lib/ada/adalib 
/usr/lib/ada/adalib/apq 
/usr/lib/ada/adalib/apq/apq_helper.ali 
/usr/lib/ada/adalib/apq/apq.ali 
/usr/share/doc/libapq3.2.0-dev/changelog.Debian.gz 
/usr/lib/libapq.so 
+0

我不认为我们应该把这个问题与GtkAda的例子混淆起来,因为我们不知道'apq.gpr'是否会为APQ做好准备! –

+0

@SimonWright:我同意;我已经更新了答案以补充您的问题。 – trashgod