你好,我正在使用 ubuntu 14.04 LTS,我正在使用 Code::blocks 來編寫 C 程式和 Ada 程式。當我使用命令“gcc -o test test.c”時,C 編譯並運行良好,但是當我編譯 Ada 程式時,出現以下錯誤
$ gcc -c hello.adb
gcc: error trying to exec 'gnat1': execvp: No such file or directory
我已經從 ubuntu 軟體中心安裝了 GNAT。請告訴我如何忽略這個錯誤。
謝謝
答案1
我遇到了這個問題。我在 Mac OS 上從 Adacore 安裝了 GNAT 和 GPS。我發現一個目錄包含一堆 Ada 相關的二進位文件,包括 gcc
/opt/gps/bin
但是使用此版本的 gcc 或我的電腦上安裝的預設版本時,我收到以下錯誤
gcc: error trying to exec 'gnat1': execvp: No such file or directory
我必須使用位於的 gcc 二進位文件
/Users/dale/opt/GNAT/2018/bin/
它有效。所以我認為正如其他人評論的那樣,這可能是由於您使用的 gcc 版本所致。
答案2
嘗試以下命令:
$ gnatmake hello.adb
答案3
簡單的答案,透過以下命令安裝 GNU-Ada-Compiler
sudo apt-get install gnat
答案4
我在編譯 ada 時也遇到了類似的問題。
我認為問題在於您的電腦正在使用舊的 gcc,而不是 gnat 中包含的 ada-aware gcc。
如果您從 adacore 安裝 gnat,您將獲得一個新增至路徑的二進位資料夾。我不知道 ubuntu GNAT 套件的作用是什麼,但你的系統中的某個地方會有二進位。
您可以重新排序 PATH 以將 GNAT gcc 放置在前面。或者您可以明確地呼叫 gnat gcc 的位置。