我有CentOS 6.2(64位默认为gcc 4.4.6)。不幸的是,我的代码只能用gcc 3.4.6编译,所以我在/ home/rajat/local下分别安装了gcc(源代码)。在链接一个简单的“Hello World”程序时,我得到以下内容。链接到旧版本的gcc
>ldd a.out
linux-vdso.so.1 => (0x00007fff215ff000)
libstdc++.so.6 => /home/rajat/local/lib64/libstdc++.so.6 (0x00007f11853e7000)
libm.so.6 => /lib64/libm.so.6 (0x00000033be400000)
libgcc_s.so.1 => /home/rajat/local/lib64/libgcc_s.so.1 (0x00007f11851ce000)
libc.so.6 => /lib64/libc.so.6 (0x00000033bd000000)
/lib64/ld-linux-x86-64.so.2 (0x00000033bcc00000)
虽然STDC++和gcc链接到我的3.4.6库的libm和libc中还链接到默认库。这个可以吗?? 3.4.6安装也没有生成libm或libc库?
这看起来不好主意;您需要更新代码以使用更现代的编译器进行编译。 – trojanfoe
@trojanfoe - 是的,我知道它是一个坏主意。但不幸的是,我现在必须忍受它。 – Rajat