美文网首页
关于Qt静态库附加于主程序pro/pri写法

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

作者: 田陌允 | 来源:发表于2021-04-13 15:18 被阅读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常用控件集

    相关文章

      网友评论

          本文标题:关于Qt静态库附加于主程序pro/pri写法

          本文链接:https://www.haomeiwen.com/subject/tlhclltx.html