1
我用readelf命令編譯庫,並檢查了符號,我GNU GCC:如何編譯谷歌,pertools,使得它不需要@ GLIBCXX_3.4
$ readelf -s ./.libs/libtcmalloc.so.5 | grep GLIB
94: 0000000000000000 32 OBJECT GLOBAL DEFAULT UND [email protected]_3.4 (5)
我想編譯庫等一種@ GLIBCXX_3.4被省略的方式。
我該怎麼做?
感謝Jonathan,我需要使用Google perftools來分析可執行文件。這個可執行文件將自己與一個定製的libstdC++聯繫起來,所以沒有符號版本控制。爲了使可執行文件正常工作,我無法將libtcmalloc.so與標準libstdC++鏈接起來,因此,我需要重新編譯libtcmalloc.so,而無需使用ABI版本信息。 – Pankaj 2013-02-18 18:43:52
這並不回答這個問題。爲什麼你需要一個沒有版本符號的圖書館? – 2013-02-18 18:45:01
,因爲當我嘗試在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