makefile中的多个gcc版本

时间:2015-12-13 07:39:55

标签: c++ gcc makefile compiler-version

在我的Makefile中我有

CC=g++

当我做mgrep gcc时,我列出了几个版本: GNU / GCC / 4.2.1 GNU / GCC / 4.7.3 等

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

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

1 个答案:

答案 0 :(得分:1)

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

  1. 在调用Make之前,期望makefile的用户加载正确的版本。可能结合基于gcc -v|grep ${GCC_VERSION}的某些条件来检查它是否是正确的版本。
  2. 在makefile中执行module load gnu/gcc/${GCC_VERSION}
  3. 使用CC=/somewhere/path-to-gcc-version/bin/g++代替CC=g++
  4. 就个人而言,我更喜欢1或3.您可以通过module load ...然后which g++找出路径。

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