关于Qt静态库附加于主程序pro/pri写法

2021-04-13  本文已影响0人  田陌允

关于静态库附加于主程序:

(以下方法比较规范,毕竟知名github项目,一般情况下可通用)

sublibName.pro


include(../common.pri)

TARGET = sublibName

QT += core gui widgets

SOURCES += $$files($$PWD/*.cpp)

HEADERS += $$files($$PWD/*.h)

FORMS += $$files($$PWD/*.ui)

RESOURCES += $$files($$PWD/*.qrc)

common.pri(上一级目录 3rdParty)


include(../lib.pri)

# compiler stuff

win32-msvc*{    

QMAKE_CXXFLAGS +=/MP

}

# output

CONFIG(debug, debug|release){

    DESTDIR = $$OUT_PWD/../../lib.debug

}else{    

    DESTDIR = $$OUT_PWD/../../lib

}

lib.pri(再上一级目录,主程序pro同级)


TEMPLATE=lib

CONFIG+=static

include($$PWD/config.pri)

CONFIG(debug, debug|release){

    DESTDIR = $$OUT_PWD/../lib.debug

}else{        

    DESTDIR = $$OUT_PWD/../lib

}

config.pri(主程序pro同级目录)

# compiler stuff

win32-msvc*{    

    QMAKE_CXXFLAGS += /MP

}

gcc{    

    QMAKE_CXXFLAGS += -Wno-unused-variable -Wno-unused-parameter -Wno-misleading-indentation    

    QMAKE_CXXFLAGS += -isystem

}

# common config

QT += core gui widgets xml opengl network printsupport svg

CONFIG += c++14

# output

CONFIG(debug, debug|release){ 

    LIBS += -L$$OUT_PWD/../lib.debug

}else{    

    LIBS += -L$$OUT_PWD/../lib    

    MOC_DIR =../temp/moc

    RCC_DIR =../temp/rcc

    UI_DIR =../temp/ui

    OBJECTS_DIR =../temp/obj

}

# temp dirs (unix)

unix{    

    MOC_DIR = $$OUT_PWD/_generated    

    OBJECTS_DIR = $$OUT_PWD/_generated

    UI_DIR = $$OUT_PWD/_generated

    RCC_DIR = $$OUT_PWD/_generated

}

关键点在于该方法只需将sublibName修改成你自己的子项目名称即可,当然用到的Qt库可以看情况增删
用于集成组件化的子库,例如
qsint-widgets,qtpropertybrowser等Qt常用控件集

上一篇下一篇

猜你喜欢

热点阅读