【问题标题】:how to compile against external library ali files from GPS with gnatmake如何使用 gnatmake 针对 GPS 中的外部库 ali 文件进行编译
【发布时间】:2015-09-07 19:32:33
【问题描述】:

我正在尝试在 GPS 环境中创建一个简单的项目,并针对 ORBExpress 包进行编译。 orbexpress 目录包含一个包含 .ads 文件的子目录“include”和另一个包含 .ali 文件的子目录“lib”。

在 GPS 环境中设置的工具链是 gnatmake 6.1.1(不过我认为版本无关紧要)。

当我尝试构建项目时,我收到如下消息 “外部源 corba.ads 不是任何项目的一部分;没有 gnatmake 开关 -x 无法编译”。

如果我在 Switches 中将 -x 开关添加到 gnatmake 行,我会收到以下错误: “无法为文件‘corba.ads’(包规范)生成代码”。

我查看了 gnatmake 手册,似乎 -aL'dir' 开关是我需要的东西(据说,告诉忽略可以在 dir 中找到 .ali 文件的单元的编译,但添加此开关似乎有没有效果...

请帮忙。

【问题讨论】:

  • ORBexpress 是否带有.gpr 文件?如果是这样,从长远来看,您可能会发现编写自己的项目 GPR 和 with ORBexpress 会更简单。就算没有,自己写orbexpress.gpr可能也不会太难。
  • 它没有,至少在我所拥有的中,没有 .gpr 文件。仅用于教育 - 假设我编写了自己的 .gpr 文件 - 如果我将其作为依赖项添加到我的项目中,OrbExpress 项目是否每次都会重新编译?
  • OrbExpress 项目不会每次都被编译,尤其是当您将其声明为“外部构建”时——请参阅this answer
  • 我试试,谢谢!

标签: ada gnat gnat-gps


【解决方案1】:

好吧,我让它工作了- 我在项目目录中使用了一个子目录“bin”作为目标文件的子目录。删除此设置后,一切正常并正确编译,仅使用 gnatmake 选项卡中的 -aIPath\to\library\include 和 -aLPath\to\library\lib 开关。

我不确定为什么它不起作用,但这就是我让它起作用的方式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-17
    • 1970-01-01
    • 2019-08-02
    • 1970-01-01
    • 2017-05-16
    • 2018-04-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多