2013-02-01 65 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