2015-06-18 41 views

回答

0

如果你想找到的libstdc版本對應的GCC版本號++,這樣做:

$> port provides /opt/local/lib/libgcc/libstdc++.6.dylib 

會告訴你哪個端口安裝指定的文件。在我的情況下,這是libgcc,我認爲這對你來說是一樣的。爲了找出libgcc當前安裝的版本,使用port installed

$> port installed libgcc 

在我的系統,這是libgcc @5.1.0_1 (active),使的libstdC++版本對應於一個附帶GCC 5.1。

請注意,OS X上的兼容版本與庫的文件名中給出的版本號不同。它相當於Linux系統上的次要版本號。有關更多詳細信息,請參見https://developer.apple.com/library/mac/documentation/DeveloperTools/Conceptual/DynamicLibraries/100-Articles/DynamicLibraryDesignGuidelines.html#//apple_ref/doc/uid/TP40002013-SW23,具體此部分適用:

除了主版本號之外,庫還有次版本號。次要版本號是使用格式X [.Y [.Z]]的遞增數字,其中X是0到65535之間的數字,Y和Z是0到255之間的數字。例如, Draw庫的第一個版本可能是1.0。要設置動態庫的次要版本號,請使用clang -current_version選項。

兼容版本號與次版本號相似;它通過編譯器-compatibility_version命令行選項設置。庫版本的兼容版本號指定與該版本鏈接的客戶機的最早次要版本可以使用的版本。例如,「定義客戶端兼容性」中的示例指示客戶端1.1不能使用早於1.2版本的Draw庫的版本,因爲它們不會導出draw_polygon函數。要查看庫的當前版本和兼容版本,請使用otool -L命令。

+0

感謝您的幫助。這很有幫助! –

+0

經過一些研究並在_gcc-help_郵件列表的人員的幫助下,以下頁面描述了隨gcc提供的庫版本:[https://gcc.gnu.org/onlinedocs/libstdc++/manual /abi.html#abi.versioning.history](https://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html#abi.versioning.history)。因此,要回答我的問題,gcc5.1附帶的libstdC++版本是:** libstdC++。so.6.0.21 **。 –