我在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. 此模板中的正确包含路径是什么?
- 9. 附加包含目录中添加的路径是什么?
- 10. VS15包含路径
- 11. CMake包含路径
- 12. 当路径包含#
- 13. ZF包含路径
- 14. 什么是标准的OpenGL工具包?
- 15. 文档光标的路径是什么?
- 16. 在包含GET路径中包含GET变量(路径)
- 17. 包含路径 - 相对路径
- 18. 为什么一个PHP文件包含在绝对路径中的文件中,但不包含相对路径?
- 19. 找出GCC包含的路径是
- 20. 什么是路径//它与/
- 21. 什么是“规范路径”?
- 22. 这种路径是什么?
- 23. 什么是类路径?
- 24. 为什么人们将自己的文件夹添加到标准包含路径?
- 25. Zend工具包含路径
- 26. asp包含绝对路径
- 27. Zend框架包含路径
- 28. C++库路径包含
- 29. 路径包含匹配
- 30. 包含和路径问题
+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文件的库构建“正确方法”是使用它们**。我不是说他们总是对的,当然,但是试试吧! –