簡體   English   中英

libmysqlcppconn.so.5:無法打開共享對象文件:沒有這樣的文件或目錄

[英]libmysqlcppconn.so.5: cannot open shared object file: No such file or directory

我在ubuntu上使用Netbeans構建了一個簡單的c ++應用程序。 在應用程序中,我使用mysql_connection和curl。 該應用程序在我的本地系統(Ubuntu)上運行正常

當我嘗試在Centos服務器上運行該應用程序時,出現以下消息:

 error while loading shared libraries: libmysqlcppconn.so.5: cannot open shared object file: No such file or directory.

試圖檢查服務器上是否存在libmysqlcppconn.so.5庫,但我發現以下內容:

 REMOTE (Centos)
 **in [/usr/local/lib]**

 libmysqlcppconn-static.a  
 libmysqlcppconn.so@  
 libmysqlcppconn.so.7@  
 libmysqlcppconn.so.7.1.1.3*


 LOCAL (Ubuntu)
 **in [/usr/lib]**

 libmysqlcppconn-static.a  
 libmysqlcppconn.so@  
 libmysqlcppconn.so.5@  
 libmysqlcppconn.so.5.1.1.0*

為什么應用程序無法運行? 我該如何解決?

您應該為服務器構建並打包它。

您的應用程序已鏈接到它所使用的一個庫的其他(不兼容)版本。

恕我直言,最簡單的方法通常是在要運行的盒子上構建它。

通常,不能保證在Linux系統上構建的二進制文件可以在其他Linux系統上工作(不同發行版或同一發行版的不同版本)。 對於某些應用程序來說,復制庫文件( lib*.so* )或靜態鏈接庫文件( gcc -static )就足夠了,但是通常來說,在沒有簡單解決方案的情況下為多個Linux系統分發程序更加復雜。

一種解決方案是針對要在其上運行的每個系統重新編譯程序。 為此,您需要先將編譯器和庫依賴項(包括*-devel軟件包)安裝到這些系統。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM