我在Linux(CentOS)機器上安裝了兩個GCC編譯器。 GCC(4.4.7)的舊版本位於默認文件夾(隨CentOS附帶)中,而我打算使用的較新版本位於/usr/local/gcc/4.9.3/。我的代碼利用MPI和LAPACK/LAPACKE/BLAS庫以及我用來編譯源代碼的舊GCC(例如「main.cpp」),如下所示:如何更改默認的GCC編譯器以便在Linux上使用MPI CentOS
mpiCC main.cpp -o main -L/home/USER1/lapack-3.6.1 -llapacke -llapack -lblas -lm -Wall
這仍然調用舊的GCC 4.4.7。我應該修改什麼以便上述MPI編譯(mpiCC)從/usr/local/gcc/4.9.3/el6/bin/的新位置調用GCC 4.9.3可執行文件?
從MPICH安裝指南3.2版(第6頁):
「的MPICH配置階段將嘗試找到C,C++和Fortran編譯器給你,但如果你既要覆蓋默認或需要要指定一個配置不識別的編譯器,可以在命令行中指定它們[...]。例如,要選擇英特爾編譯器而不是兩個系統上的GNU編譯器,請使用「
./configure CC=icc CXX=icpc F77=ifort FC=ifort ...
有沒有辦法在的不同版本的GCC編譯器之間進行區分?
爲什麼你有2個版本的gcc安裝?您可以只更新操作系統附帶的舊版本。 –
原因是CentOS對GCC 4.4.7有很多依賴。 (完全是這個版本),不能用新版本替換GCC,但必須在新版本的一側安裝。爲什麼是這樣,我不知道。另一方面,4.4.7不適用於我,我有代碼編譯/使用更高版本。 – Boki