在我的 Makefile 我有
CC=g++
当我执行 mgrep gcc 时,我列出了几个版本,例如:gnu/gcc/4.2.1 gnu/gcc/4.7.3 等
我可以加载模块来更改我的 gcc 版本。
现在假设我想在不同的 makefile 中同时使用多个版本,我该怎么做?
在我的 Makefile 我有
CC=g++
当我执行 mgrep gcc 时,我列出了几个版本,例如:gnu/gcc/4.2.1 gnu/gcc/4.7.3 等
我可以加载模块来更改我的 gcc 版本。
现在假设我想在不同的 makefile 中同时使用多个版本,我该怎么做?
模块系统基本上只是设置请求模块的路径。如果你想在特定的 makefile 中使用特定的编译器,那么你可以做三件事:
gcc -v|grep ${GCC_VERSION}
来检查它是否是正确的版本。module load gnu/gcc/${GCC_VERSION}
在你的makefile中执行。CC=/somewhere/path-to-gcc-version/bin/g++
而不是CC=g++
.就个人而言,我更喜欢1或3。你可以通过做module load ...
然后找到路径which g++
。
[顺便说一句,我会使用CXX=g++
和CC=gcc
- 假设您没有编译称为*.c
C++ 代码的文件]