我安装了Linux操作系统(CentOS的)机器上有两个GCC编译。 老版本的GCC(4.4.7)是在默认文件夹(附带CentOS的)和较新的一个,我打算用在/usr/local/gcc/4.9.3/。 我的代码利用MPI和LAPACK / LAPACKE / BLAS库和与旧GCC我用于编译(例如“main.cpp中”)源是这样的:
mpiCC的main.cpp -o主-L /家庭/ 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编译之间进行dicriminate ./configure
?
我想mpiCC
使用第一个gcc
在编译器中发现$PATH
变量。
您应该能够通过运行到设定的gcc的新版本:
PATH="/usr/local/gcc/4.9.3/el6/bin:$PATH" mpiCC main.cpp -o main -L/home/USER1/lapack-3.6.1 -llapacke -llapack -lblas -lm –Wall
如果你真的想安装在同一时间GCC的两个版本,并使用他们的都在这里是解释如何做到这一点的好链接:
http://gcc.gnu.org/faq.html#multiple
终于找到了如何。 这里是食谱:
1)检查你的,如果你shell是bash,如果不将其设置为来砸:$回声$ SHELL
/斌/ tcsh的
这是tcsh中,需要进行设置来砸。
2)切换到bash中:$庆典
庆典-4.1 $
3)GCC的新版本添加到PATH的前面:
庆典-4.1 $出口PATH =在/ usr /本地/ GCC / 4.9.3 / EL6 /斌:$ PATH
4)检查路径:bash的4.1 $回声$ PATH
/usr/local/gcc/4.9.3/el6/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin
5)使用GCC的检查版本(它拿起从PATH第一GCC)的bash-4.1 $ GCC --version
GCC(GCC)4.9.3
注意:这仅仅是对当前会话。