我有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