我在Ubuntu上使用gnat4.6使用apt-get安裝。我需要知道在哪裏安裝下載的庫,如APQ。我應該將我的ADA_INCLUDE_PATH
和ADA_OBJECTS_PATH
設置爲?什麼是標準ada包含路徑
回答
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(我沒有詳細看過它們;他們表示的興趣是大型系統,但是在那裏)。
我使用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
我不認爲我們應該把這個問題與GtkAda的例子混淆起來,因爲我們不知道'apq.gpr'是否會爲APQ做好準備! –
@SimonWright:我同意;我已經更新了答案以補充您的問題。 – trashgod
- 1. MS Visual C++的標準包含路徑是什麼?
- 2. 什麼是正確的macOS vscode intellisense C++包含標準庫的路徑?
- 3. 爲什麼包含標準頭文件?
- 4. 使用CMake爲什麼一些目標/路徑包含/ __ /?
- 5. @「../ ..」在路徑中的含義是什麼?
- 6. 「./」路徑規範的含義是什麼?
- 7. 爲什麼即使路徑包含@之前的路徑,路徑也能工作「\\」
- 8. 什麼是Groovy Console/jdbc驅動程序標準的類路徑?
- 9. 什麼是解決標準庫範圍的路徑
- 10. 附加包含目錄中添加的路徑是什麼?
- 11. 此模板中的正確包含路徑是什麼?
- 12. CMake包含路徑
- 13. ZF包含路徑
- 14. 當路徑包含#
- 15. VS15包含路徑
- 16. 什麼是標準的OpenGL工具包?
- 17. 文檔光標的路徑是什麼?
- 18. 在包含GET路徑中包含GET變量(路徑)
- 19. 包含路徑 - 相對路徑
- 20. c/C++相對包含路徑vs Makefile包含標誌
- 21. 爲什麼一個PHP文件包含在絕對路徑中的文件中,但不包含相對路徑?
- 22. 找出GCC包含的路徑是
- 23. 什麼是「規範路徑」?
- 24. 什麼是路徑//它與/
- 25. 什麼是類路徑?
- 26. 這種路徑是什麼?
- 27. 爲什麼人們將自己的文件夾添加到標準包含路徑?
- 28. PHPUnit包含路徑問題
- 29. C++庫路徑包含
- 30. MSVC-10包含路徑
+1離開APQ庫其中'的apt-GET'使他們和引用在生成腳本庫;另請參閱這些[示例](http://stackoverflow.com/q/13479748/230513)。 – trashgod
我使用gnatmake來構建如何以正確的方式引用我的構建路徑? –
如果你說'gnatls -v',它會在最後顯示項目搜索路徑包含'/ usr/share/ada/adainclude';當你安裝'libapq1-dev'的時候,它會把'apq.gpr'放在'gnatmake'中,以便在你的'.gpr'中找到'apq';'。所有使用APQ所需的構建路徑都會在不需要做任何其他工作的情況下爲您進行整理;沒有必要亂用'-aI'或'-aO'。總而言之,使用已經難以爲您提供GPR文件的庫構建「正確方法」是使用它們**。我不是說他們總是對的,當然,但是試試吧! –