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

时间:2010-09-20 18:42:34

标签: 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|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.sosqxUiBase.so.1sqxUiBase.so.1.0)指向它。我怎样才能使它只有一个sqxUiBase.so文件而没有链接?

2 个答案:

答案 0 :(得分:18)

您正在寻找的是plugin

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

答案 1 :(得分:10)

在查看qmake源代码后,我找到了{i}的CONFIG += unversioned_libname和Windows的CONFIG += skip_target_version_ext