我在linux主机(x86_64)上使用gcc构建应用程序,并将其链接到共享库的确切版本号。我指定链接器选项-lQt5Core
,但应用程序链接到libQt5Core.so.5.3.1。如何将可执行文件链接到共享库的通用版本?
如何构建应用程序,它将与像libQt5Core.so.5这样的共享库的通用版本链接?
所以我想链接我的应用程序libQt5Core.so.5,而不是libQt5Core.so.5.3.1。怎么做?
谢谢。
我在linux主机(x86_64)上使用gcc构建应用程序,并将其链接到共享库的确切版本号。我指定链接器选项-lQt5Core
,但应用程序链接到libQt5Core.so.5.3.1。如何将可执行文件链接到共享库的通用版本?
如何构建应用程序,它将与像libQt5Core.so.5这样的共享库的通用版本链接?
所以我想链接我的应用程序libQt5Core.so.5,而不是libQt5Core.so.5.3.1。怎么做?
谢谢。
您可以使用指定精确库版本
-l:libQt5Core.so.5
或者给你要搜索的目录。
-lQt5Core -L _LIB_PATH_ // _LIB_PATH_ is the path where the library you want to link is.
的
不。我想要指定链接器选项-lQt5Core,但可执行文件链接到libQt5Core.so.5,而不是libQt5Core.so.5.3.1。 – 2014-10-06 11:29:22
对不起,那应该是这样的。 – JHT 2014-10-06 12:33:48
可能重复[如何指定库版本在链接时使用?(http://stackoverflow.com/questions/3840218/how-to-specify-the-library-version-to-在链接时使用) – bobah 2014-10-06 09:57:44
不,它不重复。我想构建链接到常用版本库的应用程序。目的是为gentoo或Arch(AUR)构建的软件包链接到常见的lib版本。因为更新后提升库大部分应用程序不会工作。例如,在将升级从1.55升级到1.56后,大多数应用程序不起作用,因为它们仍然与升级1.55相关联。我只想链接应用程序以提高1. – 2014-10-06 10:14:46