2011-09-28 81 views
2

我試圖編譯一個Ada項目。Ada - 奇怪的錯誤 - gcc/gnatbind的一致版本

我從Libre AdaCore安裝了當前的2011 GNAT GPL包,它也包含gcc編譯器。

奇怪的錯誤是以下

fatal error: file dom.ali is incorrectly formatted 
make sure you are using consistent versions of gcc/gnatbind 

如果鍵入它給了我這GCC在/ usr /蚊蚋/斌/ GCC
這gnatbind如果鍵入它給我的/ usr /蚊蚋/斌/ gnatbind

「的格式不正確」 文件的內容如下

V "GNAT Lib v2011" 
A -gnat05 
A -gnatA 
P ZX 
R nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnvnnnnnnnnnnnnnnnnnnn 

U dom%s   dom.ads   2bd88f63 NE OO PK IU 
D dom.ads  20090519080656 2bd88f63 
D system.ads  20110419093140 2d1a1afa 
X 1 dom.ads 
44K9*DOM 46l5 46e8 

任何線索?

預先感謝您

編輯:gnatls -v顯示以下(格式化的可讀性),

 
GNATLS GPL 2011 (20110419)
Copyright (C) 1997-2011, Free Software Foundation, Inc. Source Search Path: <Current_Directory> /usr/gnat/lib/gcc/i686-pc-linux-gnu/4.5.3/adainclude/ Object Search Path: <Current_Directory> /usr/gnat/lib/gcc/i686-pc-linux-gnu/4.5.3/adalib/ Project Search Path: <Current_Directory> /usr/gnat/i686-pc-linux-gnu/lib/gnat /usr/gnat/share/gpr /usr/gnat/lib/gnat
+1

'gnatls -v'說什麼? (應該開始GNATLS GPL 2011 ...)以及您使用的操作系統是什麼? –

+0

BTW:該語言被稱爲「Ada」,而不是「ADA」。它是一個名字,而不是縮寫。 – oenone

+0

GNATLS GPL 2011(20110419)
版權所有(C)1997-2011,自由軟件基金會,公司 源文件搜索路徑: 在/ usr /蚊蚋/ lib中/ GCC/i686的-PC-Linux的GNU/4.5.3/adainclude/ 對象的搜索路徑: /usr/gnat/lib/gcc/i686-pc-linux-gnu/4.5.3/adalib/ 項目搜索路徑: /usr/gnat/i686-pc-linux-gnu/lib/gnat /usr/gnat/share/gpr /usr/gnat/lib/gnat – michele

回答

2

所有編譯單元必須具有完全相同的GNAT版本的編譯和使用庫版本。如果您使用預編譯的庫,則可能必須重新編譯它們。

查看關於ali文件的Debian Ada Policy部分。

+0

最後是這種情況,我使用的舊版本的XMLAda與舊的GNAT一起編譯,重新編譯爲最新版本,一切正常。 – michele