Подтвердить что ты не робот

Как избежать номера версии в .so имени файла

Я пытаюсь создать динамическую библиотеку в 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 и ссылки?

4b9b3361

Ответ 1

То, что вы ищете, составляет plugin.

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

Ответ 2

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