2014-10-06 72 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

相关问题