GCC使用错误的连接

问题描述:

我的Solaris系统具有LD的两个版本安装GCC使用错误的连接

第一个属于solaris的工作室:

$ /usr/ccs/bin/ld -V 
ld: Software Generation Utilities - Solaris Link Editors: 5.10-1.1514 

而另外一个与gcc

$ ld -v 
GNU ld (GNU Binutils) 2.24 

我试着使用gcc和ld

$ which gcc 
/usr/bin/gcc 
/usr/bin/gcc -> /opt/csw/bin/gcc 

$ which ld 
/usr/bin/ld 
/usr/bin/ld -> /opt/csw/gnu/ld 

但问它使用GCC程序时,确定使用Solaris Studio的链接:

$ gcc -print-prog-name=ld 
/usr/ccs/bin/ld 

问题:我怎样才能让GCC使用连接器上的/ opt/CSW/GNU/LD?

+0

我猜测错误的'ld'首先出现在PATH中。 –

+0

当尝试运行未指定路径的可执行文件时,shell也是如此。什么'哪个ld'返回? –

gcc默认编译为使用Solaris链接器。您可以使用LD_ALTEXEC环境变量覆盖此设置:

export LD_ALTEXEC=/opt/csw/gnu/ld