为什么GCC会抛出关于未指定选项的错误?

当我在使用GCC 4.2.3的64位Red Hat Enterprise Linux 5.0上从makefile运行以下命令时:

gcc -c -ansi -pedantic -O0 -fPIC -I. -I.. -Iheader_files/include "source_file.c" 

我得到以下错误:

 cc1: error: unrecognized command line option "-lang-c" 

从表面上看,问题是在新版本的GCC上“-lang-c”不再是一个有效的选项。 然而,更深层次的问题是:为什么GCC会收到一个不在原始命令中的“-lang-c”选项?

其他背景:

  • 目前的安装没有任何我能find的GCC“specs”文件
  • 运行“gcc -dumpspecs”会产生一个很长的默认列表,但是“-lang-c”不在其中。
  • “-lang -c”似乎不在我所知道的影响GCC的任何环境variables中。

任何帮助,将不胜感激。

问候,

马克Biesiada

确保您的gcc驱动程序与安装的GCC版本相同。

-v选项添加到您的编译命令以检查版本以及选项的来源。