2013-04-30 142 views
0

我想從我的C++程序中使用MySQL客戶端庫(libmysqlclient.so)連接ro MySQL服務器。 Solaris上的此libmysqlclient.so與libstlport.so有依賴關係。Solaris:libSTLPort.so與libCstd.so的二進制兼容性?

libstlport.so.1 =>  (file not found) 

這是我可以用「ldd」命令看到的東西。我在Oracle文檔中看到,內置的libCstd.so和libstlport.so是二進制兼容的。所以,我可以複製libCstd.so,並將其重命名爲libstlport.so或類似的東西,使MySQL客戶端庫工作?

回答

1

根據Oracle Solaris Studio 12.2: C++ User's Guide

STLport的是二進制兼容默認的libCstd。如果使用標準庫的STLport實現 ,那麼必須使用 選項-library = stlport4編譯並鏈接所有文件,包括第三方庫。這意味着,例如,您不能將STLport實現和C++區間數學庫012CslibCsunimath一起使用。原因是libCsunimath是 使用默認庫標頭編譯,而不是STLport。