Ada-应为方面标识符

Ada-应为方面标识符,ada,gnat,ada2012,Ada,Gnat,Ada2012,我最近开始在GNAT GPS社区版中使用gnatcoll、gnatcoll_sql、gnatcoll_postgres库 我的default.gpr文件如下所示 with "gnatcoll"; with "gnatcoll_postgres"; project Default is for Source_Dirs use ("src"); for Object_Dir use "obj"; for Main use ("main.adb"); package

我最近开始在GNAT GPS社区版中使用gnatcoll、gnatcoll_sql、gnatcoll_postgres库

我的default.gpr文件如下所示


with "gnatcoll";
with "gnatcoll_postgres";



project Default is

   for Source_Dirs use ("src");
   for Object_Dir use "obj";
   for Main use ("main.adb");

   package Compiler is
      for Switches ("ada") use ("-gnat12");
   end Compiler;

end Default;

我的主文件如下所示

with gnatcoll.SQL.Postgres;  use gnatcoll.SQL.Postgres;
with gnatcoll.SQL.Exec;      use gnatcoll.SQL.Exec;
with Ada.Text_IO;            use Ada.Text_IO;


procedure Main is

begin


   Ada.Text_IO.Put_Line("Test");



end Main;

执行时,我收到以下错误消息

gprbuild -d -P/home/parallels/Documents/Ada Projects/Connect to Database 2/default.gpr -XGNATCOLL_OS=unix -XBUILD=PROD -XXMLADA_BUILD=static -XLIBRARY_TYPE=static -XGNATCOLL_CORE_BUILD=static -XGNATCOLL_BUILD=static /home/parallels/Documents/Ada Projects/Connect to Database 2/src/main.adb
gcc -c -gnat12 main.adb
gnatcoll-sql.ads:747:12: aspect identifier expected
gnatcoll-strings_impl.ads:315:10: aspect identifier expected
gnatcoll-strings_impl.ads:318:52: aspect identifier expected
gnatcoll-strings_impl.ads:393:15: aspect identifier expected
gnatcoll-strings_impl.ads:396:51: aspect identifier expected
gprbuild: *** compilation phase failed
[2020-04-22 09:36:12] process exited with status 4, 6% (1/16), elapsed time: 00.75s
[2020-04-22 10:00:24] Could not locate executable on path: xterm

我怀疑是否尝试修改此代码,因为它位于gnatcoll库中。请告诉我是否应该更改
gnatcoll-strings\u impl.ads
&
gnatcoll sql.ads
中的代码,或者是否有其他解决方案

我无法将下面的
gnatcoll-strings\u impl.ads
gnatcoll-sql.ads
文件包括在内以供参考,因为它们太大了!这里有一些屏幕截图供参考

20年4月29日增补


Builder results
    /home/parallels/gnatcoll-db/sql/gnatcoll-sql_impl.adb
        30:14 warning: license of withed unit "GNATCOLL.Utils" may be inconsistent
    /home/parallels/gnatcoll-db/sql/gnatcoll-sql_impl.ads
        30:14 warning: license of withed unit "GNATCOLL.Refcount" may be inconsistent
    /home/parallels/opt/GNAT/2019/include/gnatcoll/gnatcoll-atomic.ads
        38:29 "-" not declared in "Atomic_Counters"
        104:37 "=" not declared in "Atomic_Counters"
        97:33 ">" not declared in "Atomic_Counters"
        35:52 "Atomic_Unsigned" not declared in "Atomic_Counters"

20年5月2日增补


[parallels@localhost ~]$ gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39)
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

[parallels@localhost ~]$ sudo yum -y install gcc
[sudo] password for parallels: 
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.coreix.net
 * epel: mirrors.coreix.net
 * extras: mirror.netweaver.uk
 * updates: www.mirrorservice.org
Package gcc-4.8.5-39.el7.x86_64 already installed and latest version
Nothing to do
[parallels@localhost ~]$ 


我认为,这些错误消息意味着编译器无法识别它所看到的方面。所有这些代码都是有效的:您在那里实际使用的编译器是什么?我尝试过(用sqlite代替postgres),CE 2019非常满意。GPS是一个IDE,而不是一个编译器。CE 2019是2019社区版。GNAT CE包括GPS、编译器和其他一些东西。可以让GPS版本N运行编译器版本M。因为您报告了编译器的问题,所以我询问使用了哪个版本的编译器。将
-v
添加到编译器开关。我在两个源文件中都用sqlite替换了postgres-我这样做是因为macOS附带sqlite,我不想安装一个包(postgres),我不使用我能找到的唯一编译器版本(从GNAT 2015开始,从FSF GCC 4.8开始)报告预期的
方面标识符
而不是
“Foo”不是有效的方面标识符
是FSF GCC 4.9.1-从2014年开始,您就在这里。版本4.8.5我认为,这些错误消息意味着编译器无法识别它所看到的方面。所有这些代码都是有效的:您在那里实际使用的编译器是什么?我尝试过(用sqlite代替postgres),CE 2019非常满意。GPS是一个IDE,而不是一个编译器。CE 2019是2019社区版。GNAT CE包括GPS、编译器和其他一些东西。可以让GPS版本N运行编译器版本M。因为您报告了编译器的问题,所以我询问使用了哪个版本的编译器。将
-v
添加到编译器开关。我在两个源文件中都用sqlite替换了postgres-我这样做是因为macOS附带sqlite,我不想安装一个包(postgres),我不使用我能找到的唯一编译器版本(从GNAT 2015开始,从FSF GCC 4.8开始)报告预期的
方面标识符
而不是
“Foo”不是有效的方面标识符
是FSF GCC 4.9.1-从2014年开始,您就在这里。版本4.8.5