LD_LIBRARY_PATH似乎不起作用

我试图编译一个testing文件:

gcc -o test test.c -lg2c 

但我得到的错误:

 /usr/bin/ld: cannot find -lg2c 

如果我使用:

 gcc -o test test.c -L/usr/lib/gcc/x86_64-redhat-linux/3.4.6 -lg2c 

那么它工作正常。

所以我添加了这样的path:

 LD_LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/3.4.6:$LD_LIBRARY_PATH 

当我使用$LD_LIBRARY_PATH它在那里列出,但是:

 gcc -o test test.c -lg2c 

仍然不起作用,它给出了同样的错误,我不明白为什么。

我正在使用CentOS(2.6.32-279.9.1.el6.x86_64),任何帮助将不胜感激。


编辑 :编译器版本:

 rpm -qa | grep gcc gcc-4.4.6-4.el6.x86_64 compat-gcc-34-g77-3.4.6-19.el6.x86_64 libgcc-4.4.6-4.el6.x86_64 compat-gcc-34-3.4.6-19.el6.x86_64 gcc-gfortran-4.4.6-4.el6.x86_64 libgcc-4.4.6-4.el6.i686 gcc-c++-4.4.6-4.el6.x86_64 

编辑 :我尝试使用LIBRARY_PATH而现在我得到一个不同的错误:

 gcc: spec failure: unrecognized spec option 'M' 

我不知道这是什么意思。

Solutions Collecting From Web of "LD_LIBRARY_PATH似乎不起作用"

尝试设置LIBRARY_PATH而不是LD_LIBRARY_PATH

gcc手册页:

LIBRARY_PATH

LIBRARY_PATH的值是一个以冒号分隔的目录列表,非常像PATH。 当配置为本地编译器时,GCC在搜索特殊链接器文件时尝试搜索指定的目录,如果使用GCC_EXEC_PREFIX找不到它们的话。 在使用GCC进行链接时,也会在为-l选项搜索普通库时使用这些目录(但使用-L指定的目录优先)。

确保在修改后导出LD_LIBRARY_PATH 。 否则GCC将无法看到修改后的版本。

 LD_LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/3.4.6:$LD_LIBRARY_PATH export LD_LIBRARY_PATH gcc -o test test.c -lg2c