为什么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"

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

附加背景:

>当前安装没有我能找到的任何GCC“specs”文件
>运行“gcc -dumpspecs”会生成一长串默认值,但“-lang-c”不在其中.
>“-lang-c”似乎不在我知道影响GCC的任何环境变量中.

任何帮助,将不胜感激.

问候,

Mark Biesiada

最佳答案 确保您的gcc驱动程序与已安装的GCC版本相同.

在编译命令中添加-v选项以检查版本以及选项的来源.

点赞