【发布时间】:2017-05-04 22:49:28
【问题描述】:
我在 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 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 编译器,但如果您想要覆盖默认值或需要指定 configure 无法识别的编译器,您可以在命令行 [...]。例如,要在同时使用英特尔编译器而不是 GNU 编译器的系统上选择两者,请使用“
./configure CC=icc CXX=icpc F77=ifort FC=ifort ...
有没有办法区分 ./configure 中不同版本的 GCC 编译器?
【问题讨论】:
-
为什么你安装了 2 个版本的 gcc?您可以只更新操作系统附带的旧版本。
-
原因是CentOS对GCC 4.4.7有很多依赖。 (确切地说是那个版本)并且不能只用较新的替换 GCC,还必须在新的一侧安装。为什么会这样,我不知道。另一方面,4.4.7 对我不起作用,我有代码编译/使用更高版本。