2013-02-18 35 views

回答

1

要做到這一點的唯一方法是使用不使用版本化符號的舊GCC,或者使用--disable-symbol-versioning重新編譯GCC本身,然後使用該新GCC重新編譯該庫。

你爲什麼要這樣?

+0

感謝Jonathan,我需要使用Google perftools來分析可執行文件。這個可執行文件將自己與一個定製的libstdC++聯繫起來,所以沒有符號版本控制。爲了使可執行文件正常工作,我無法將libtcmalloc.so與標準libstdC++鏈接起來,因此,我需要重新編譯libtcmalloc.so,而無需使用ABI版本信息。 – Pankaj 2013-02-18 18:43:52

+0

這並不回答這個問題。爲什麼你需要一個沒有版本符號的圖書館? – 2013-02-18 18:45:01

+0

,因爲當我嘗試在Google perf工具下運行我的代碼時,出現錯誤「/usr/local/lib/gcc43/libstdc++.so.6:版本'GLIBCXX_3.4'not found」。其實我想編譯libtcmalloc.so,這樣我就不依賴於「GLIBCXX_3.4」。 – Pankaj 2013-02-18 19:02:16