16

我正在尝试使用 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文件而没有链接?

4

2 回答 2

21

您正在寻找的是制作plugin.

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

于 2010-09-20T20:36:53.623 回答
12

在查看了我CONFIG += unversioned_libname为 nix 和CONFIG += skip_target_version_extwindows 找到的 qmake 源代码之后。

于 2015-01-22T14:11:17.657 回答