Linux 如何避免在.so文件名中包含版本号

Linux 如何避免在.so文件名中包含版本号,linux,qt,shared-libraries,qmake,Linux,Qt,Shared Libraries,Qmake,我正在尝试使用qmake在Linux上构建一个动态库。这是我的.pro文件: TEMPLATE = lib TARGET = sqxUiBase QT += core gui CONFIG += dll INCLUDEPATH += ../../public/include DEPENDPATH += . UI_DIR += ../GeneratedFiles RCC_DIR += ../GeneratedFiles CONFIG(release, debug|

我正在尝试使用qmake在Linux上构建一个动态库。这是我的.pro文件:

TEMPLATE = lib
TARGET = sqxUiBase
QT += core gui   
CONFIG += dll    
INCLUDEPATH += ../../public/include   
DEPENDPATH += .
UI_DIR += ../GeneratedFiles    
RCC_DIR += ../GeneratedFiles   
CONFIG(release, debug|release) {
    DESTDIR = ../lib/release
    LIBS += -L"../lib/release"
    MOC_DIR += ../GeneratedFiles/release
    OBJECTS_DIR += release
} else {    
    DESTDIR = ../lib/debug
    LIBS += -L"../lib/debug"
    MOC_DIR += ../GeneratedFiles/debug
    OBJECTS_DIR += debug
} 

include(sqxUiBase.pri)
sqxUiBase.pri文件包含需要生成的文件列表


现在,问题是无论我做什么,结果文件总是被命名为
sqxUiBase.so.1.0.0
,有一堆符号链接(
sqxUiBase.so
sqxUiBase.so.1
sqxUiBase.so.1.0
)指向它。我怎样才能使它只有一个
sqxUiBase.so
文件而没有链接?

你要找的是制作一个
插件


CONFIG+=plugin
添加到项目文件中,qmake将生成一个生成
libFoo.so
文件的Makefile,没有编号的链接

在查看qmake源代码后,我发现nix的
CONFIG+=unversioned\u libname
和windows的
CONFIG+=skip\u target\u version\u ext

作为一个附加选项,您可以在.pro文件中使用“version=(不带引号)指定一个空版本号。我只能证明它在Windows下工作。请不要在标题中写标签。谢谢,艾蒂安!回到2010年,这不是一个规则;)因为标签系统的存在,这总是很愚蠢!!这是引入了
未版本的\u libname
的补丁。它从Qt5.3开始工作,您还需要
CONFIG+=unversioned\u soname
,以便在链接时不会查找
foo.so.1