代码之家  ›  专栏  ›  技术社区  ›  Etienne de Martel

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

  •  13
  • Etienne de Martel  · 技术社区  · 14 年前

    我正在尝试使用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 )指向它。我怎么能做到只有一个 SqXiBase.So 文件和没有链接?

    2 回复  |  直到 9 年前
        1
  •  17
  •   Fred    14 年前

    你要找的是 plugin .

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

        2
  •  8
  •   EvilTK    9 年前

    在查看了我找到的Qmake源之后 CONFIG += unversioned_libname 为nix和 CONFIG += skip_target_version_ext 对于Windows。