如何设置gcc 4.3默认specs文件?

时间:2011-04-25 12:45:41

标签: c++ c gcc gcc4

使用gcc版本4.3.2时,我会看到如何使用以下方式生成规范:

$ /usr/local/gcc-4.3.2/bin/gcc -v
Using built-in specs

现在更改为与libgcc相同的目录:

cd /usr/local/gcc-4.3.2/lib/gcc/x86_64-unknown-linux-gnu/4.3.2
/usr/local/gcc-4.3.2/bin/gcc -dumpspecs > specs

我有一个我可以修改的填充规范文件。但是,一旦完成,我仍然看到:

$ /usr/local/gcc-4.3.2/bin/gcc -v
Using built-in specs

我如何告诉gcc默认使用该specs文件,而不是强迫我在每次编译时传递-specs参数?我希望它与我所拥有的另一个系统匹配:

$ /usr/local/gcc-4.3.2/bin/gcc -v
Reading specs from /usr/local/gcc-4.3.2/lib/gcc/i686-pc-linux-gnu/4.3.2/specs</code>

正如您所看到的,两个系统之间的主要区别在于现有的设置是32位,我现在正试图在64位系统上进行匹配。 Linux的版本是相同的,我正在编译相同版本的gcc。 (两个系统gcc 4.3.2是第二个gcc安装,4.1.2用于编译4.3.2)

3 个答案:

答案 0 :(得分:5)

正如Johannes Schaub-litb提出的strace建议暗示的那样,编译器在寻找文件的位置存在问题。事实证明,非工作安装在.bashrc中设置了一个环境变量,导致混淆。

specs文件的正确位置确实与libgcc所在的目录相同。请确保你在那里看。

答案 1 :(得分:1)

我使用了这个命令行:

  

/usr/bin/set-gcc-default-3.sh i686-pc-mingw32

但你可能想要:

  

/usr/bin/set-gcc-default-4.sh i686-pc-linux-gnu

(注意-4而不是-3)

这是使用“替代”的东西构建的,请参阅

  

/usr/sbin/alternatives.exe --help

还可以看到http://linux.about.com/library/cmd/blcmdl8_alternatives.htm

等网页

答案 2 :(得分:0)

您使用specs文件重建gcc作为构建的一部分!

更简单的解决方案是创建别名:

alias gcc_Gary gcc -specs /<folder With Specs File>/newSpecsFile