make 命令使用什么版本的 GCC?

Moh*_*ani 7 gcc make

有什么办法可以知道make命令使用的是哪个版本的gcc ?我的电脑上安装了 5 个版本的 gcc:通过dpkg -l | grep gcc

ii  gcc                                                   4:4.8.2-1ubuntu6                                    i386         GNU C compiler
ii  gcc-4.6                                               4.6.4-6ubuntu2                                      i386         GNU C compiler
ii  gcc-4.6-base:i386                                     4.6.4-6ubuntu2                                      i386         GCC, the GNU Compiler Collection (base package)
ii  gcc-4.8                                               4.8.2-19ubuntu1                                     i386         GNU C compiler
ii  gcc-4.8-base:i386                                     4.8.2-19ubuntu1                                     i386         GCC, the GNU Compiler Collection (base package)
ii  gcc-4.9-base:i386                                     4.9-20140406-0ubuntu1                               i386         GCC, the GNU Compiler Collection (base package)
ii  libgcc-4.8-dev:i386                                   4.8.2-19ubuntu1                                     i386         GCC support library (development files)
ii  libgcc1:i386                                          1:4.9-20140406-0ubuntu1                             i386         GCC support library
Run Code Online (Sandbox Code Playgroud)

kar*_*rel 6

打开终端并输入:

gcc --version  
Run Code Online (Sandbox Code Playgroud)

如果这不是您想要的 gcc 版本,可以使用该update-alternatives命令更改默认的 gcc 版本,以确定通用名称引用了哪个实际文件,例如gcc. 有关更多信息,请参阅此问题的答案:如何更改 Ubuntu 中的默认 GCC 编译器?.

  • 您可能还需要检查 makefile,其中一些明确说明了版本。 (2认同)

Rob*_*sak 5

Makefile 通常使用隐式规则来编译事物,而不是专门定义编译器。在这种情况下,约定(和默认)是使用$(CC),默认为cc。因此,如果您键入cc --version,您将看到默认情况下 Makefile 使用的内容。

Makefile 可能会覆盖CC虽然的定义,或者根本不使用$(CC)。但是是约定(因为它也在configure脚本的autoconf 中)。

另请参阅:https : //stackoverflow.com/questions/2969222/make-gnu-make-use-a-different-compiler