Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Centos Ada封装库项目GNAT_Centos_Ada_Dynamic Library_Gnat - Fatal编程技术网

Centos Ada封装库项目GNAT

Centos Ada封装库项目GNAT,centos,ada,dynamic-library,gnat,Centos,Ada,Dynamic Library,Gnat,我正在尝试使用GNAT95在我的计算机上编译一个程序,该计算机运行64位的CENTOS 7。我收到的编译器消息如下所示: gprbuild: encapsulated library projects not supported on this platform 我的GPR文件如下所示: gprbuild: encapsulated library projects not supported on this platform 与“bc.gpr”;——拉入booch95组件,因为ada95没

我正在尝试使用GNAT95在我的计算机上编译一个程序,该计算机运行64位的CENTOS 7。我收到的编译器消息如下所示:

gprbuild: encapsulated library projects not supported on this platform
我的GPR文件如下所示:

gprbuild: encapsulated library projects not supported on this platform
与“bc.gpr”;——拉入booch95组件,因为ada95没有集合
使用“mylibrary.gpr”;——我的一个图书馆项目
图书馆项目注册处
用于源目录使用(“src/**”);
对于对象_Dir,使用“bin”;
对于库名称,请使用“注册表”;
对于库_独立使用“封装”;
对于Library\u ALI\u Dir,使用“lib/registry”;
对于库目录,使用“插件”;
对于图书馆类,使用“动态”;
对于库接口,使用“…”;
包编译器是
对于默认的_开关(“Ada”)使用(“-g”,“-gnat95”);
终端编译器;
包链接器是
对于连接器_选项,请使用(“-ldl”、“-lgcov”);
末端连接器;
最终项目;
Booch组件库是一个静态库项目。删除封装的库会导致Ada在尝试混合静态库和动态库时引发另一个错误:

shared library project "registry" cannot import static library project "bc"
知道是什么导致Ada编译器崩溃吗?

除非您使用的是非常旧的BCs版本,否则您可以通过将场景变量
library_TYPE
设置为
可重定位
来构建共享或动态库;通过设置为环境变量,或

gprbuild -XLIBRARY_TYPE=relocatable ...
或者使用GPS。我不是GPS用户,但经过调查(使用GPS GPL 2014),您似乎在左侧的选项卡中选择了场景,该选项卡应显示项目中的场景变量及其所依赖的项目(
bc
)。选择一个你想改变的,点击钢笔图标,你会得到一个对话框来更新它


注册表库必须是动态的吗?使用
作为库类型使用“static”会发生什么?如何使用GPS将-XLIBRARY_TYPE=relocateable参数添加到gnatmake命令中?添加了一个示例,说明如何使用
ed项目设置在
中定义的方案变量。我没有意识到GPS中有一个方案选项卡。