makefile中的多个gcc版本

multiple gcc versions in makefile

本文关键字:gcc 版本 makefile      更新时间:2023-10-16

在我的Makefile中,我有

CC=g++

当我做mgrep-gcc时,我列出了几个版本,如:gnu/gcc/4.2.1gnu/gcc/4.7.3etc

我可以进行模块加载来更改我的gcc版本。

现在假设我想在不同的makefile中同时使用多个版本,我该怎么做?

模块系统基本上只是为请求的模块设置一条路径。如果你想在特定的makefile中使用特定的编译器,那么你可以做三件事:

  1. 期望makefile的用户在调用Make之前加载正确的版本。可能与基于gcc -v|grep ${GCC_VERSION}的某些条件相结合,以检查它是否是正确的版本
  2. 在生成文件中执行module load gnu/gcc/${GCC_VERSION}
  3. 使用CC=/somewhere/path-to-gcc-version/bin/g++而不是CC=g++

就我个人而言,我更喜欢1或3。你可以通过做module load ...,然后做which g++来找到路径。

[顺便说一下,我会使用CXX=g++CC=gcc——假设您没有将名为*.c的文件编译为C++代码]