2014-10-06 70 views
0

我在linux主機(x86_64)上使用gcc構建應用程序,並將其鏈接到共享庫的確切版本號。我指定鏈接器選項-lQt5Core,但應用程序鏈接到libQt5Core.so.5.3.1。如何將可執行文件鏈接到共享庫的通用版本?

如何構建應用程序,它將與像libQt5Core.so.5這樣的共享庫的通用版本鏈接?

所以我想鏈接我的應用程序li​​bQt5Core.so.5,而不是libQt5Core.so.5.3.1。怎麼做?

謝謝。

+0

可能重複[如何指定庫版本在鏈接時使用?(http://stackoverflow.com/questions/3840218/how-to-specify-the-library-version-to-在鏈接時使用) – bobah 2014-10-06 09:57:44

+0

不,它不重複。我想構建鏈接到常用版本庫的應用程序。目的是爲gentoo或Arch(AUR)構建的軟件包鏈接到常見的lib版本。因爲更新後提升庫大部分應用程序不會工作。例如,在將升級從1.55升級到1.56後,大多數應用程序不起作用,因爲它們仍然與升級1.55相關聯。我只想鏈接應用程序以提高1. – 2014-10-06 10:14:46

回答

0

您可以使用指定精確庫版本

-l:libQt5Core.so.5 

或者給你要搜索的目錄。

-lQt5Core -L _LIB_PATH_ // _LIB_PATH_ is the path where the library you want to link is. 
+0

不。我想要指定鏈接器選項-lQt5Core,但可執行文件鏈接到libQt5Core.so.5,而不是libQt5Core.so.5.3.1。 – 2014-10-06 11:29:22

+0

對不起,那應該是這樣的。 – JHT 2014-10-06 12:33:48

相關問題