Centos Ada封装库项目GNAT
我正在尝试使用GNAT95在我的计算机上编译一个程序,该计算机运行64位的CENTOS 7。我收到的编译器消息如下所示: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没
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中有一个方案选项卡。