gpt4 book ai didi

centos - Ada 封装库项目 GNAT

转载 作者:行者123 更新时间:2023-12-04 19:34:34 24 4
gpt4 key购买 nike

我正在尝试使用 GNAT 95 在我的计算机上使用 GNAT-GPL 2015 bundle 编译运行 CENTOS 7 64 位的程序.我收到如下所示的编译器消息:

gprbuild: encapsulated library projects not supported on this platform

我的 GPR 文件如下所示:

with "bc.gpr";  -- Pull in the booch95 components since ada95 doesnt have collections
with "mylibrary.gpr"; -- one of my library projects

library project Registry is
for Source_Dirs use ("src/**");
for Object_Dir use "bin";

for Library_Name use "registry";
for Library_Standalone use "encapsulated";
for Library_ALI_Dir use "lib/registry";
for Library_Dir use "plugins";
for Library_Kind use "dynamic";
for Library_Interfaces use ("...");

package Compiler is
for Default_Switches ("Ada") use ("-g", "-gnat95");
end Compiler;

package Linker is
for Linker_Options use ("-ldl", "-lgcov");
end Linker;
end project;

Booch 组件库是一个静态库项目。删除封装会导致 Ada 抛出另一个关于尝试混合静态和动态库的错误:
shared library project "registry" cannot import static library project "bc"

任何想法可能导致 Ada 编译器崩溃?

最佳答案

除非您使用的是非常旧的 BC 版本,否则您可以通过设置场景变量 LIBRARY_TYPE 将其构建为共享库或动态库。至relocatable ;通过设置为环境变量,或

gprbuild -XLIBRARY_TYPE=relocatable ...

或使用 GPS。我不是 GPS 用户,但经过调查(使用 GPS GPL 2014),您似乎在左侧的选项卡中选择了场景,它应该显示项目中的场景变量及其依赖的项目( bc在你的情况下)。选择您要更改的那个并单击笔图标,您会看到一个对话框来更新它。

Setting a scenario variable in GPS

关于centos - Ada 封装库项目 GNAT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30981841/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com