Как избежать наличия номеров версий в имени файла .so - PullRequest
14 голосов
/ 20 сентября 2010

Я пытаюсь собрать динамическую библиотеку в Linux, используя qmake.Вот мой файл .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 и никаких ссылок?

Ответы [ 2 ]

18 голосов
/ 21 сентября 2010

Вы ищете plugin.

Добавьте CONFIG += plugin к вашему файлу проекта, и qmake сгенерирует Makefile, который создает файл libFoo.so, без нумерованных ссылок

10 голосов
/ 22 января 2015

После просмотра источника qmake я нашел CONFIG += unversioned_libname для nix и CONFIG += skip_target_version_ext для windows.

...