美文网首页
qt 下编译静态库

qt 下编译静态库

作者: wyrover | 来源:发表于2018-06-23 20:40 被阅读24次

    静态库

    MathFunctions.pro

    #-------------------------------------------------
    #
    # Project created by QtCreator 2013-07-23T19:50:46
    #
    #-------------------------------------------------
    
    QT       -= gui
    
    TARGET = MathFunctions
    TEMPLATE = lib
    CONFIG += staticlib
    
    SOURCES += mathfunctions.cpp
    
    HEADERS += mathfunctions.h
    unix:!symbian {
        maemo5 {
            target.path = /opt/usr/lib
        } else {
            target.path = /usr/lib
        }
        INSTALLS += target
    }
    
    

    mathfunctions.h

    #ifndef MATHFUNCTIONS_H
    #define MATHFUNCTIONS_H
    
    
    class MathFunctions
    {
        
    public:
        MathFunctions();
    
        static unsigned long int factorial(unsigned int n);
    };
    
    #endif // MATHFUNCTIONS_H
    
    

    mathfunctions.cpp

    #include "mathfunctions.h"
    
    MathFunctions::MathFunctions()
    {
    }
    unsigned long int
    MathFunctions::factorial(unsigned int n)
    {
        switch(n)
        {
            case 0: return 0;
            case 1: return 1;
            default: return n * factorial(n-1);
        }
    }
    
    

    链接静态库

    #-------------------------------------------------
    #
    # Project created by QtCreator 2013-07-23T20:43:19
    #
    #-------------------------------------------------
    
    QT       += core
    
    QT       -= gui
    
    
    CONFIG(release, debug|release):
    DEFINES += QT_NO_DEBUG_OUTPUT
    
    TARGET = MathFunctionsTest
    CONFIG   += console
    CONFIG   -= app_bundle
    
    TEMPLATE = app
    
    
    SOURCES += main.cpp
    
    
    win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../build-MathFunctions-Desktop_Qt_5_3_0_MinGW_32bit-Debug/release/ -lMathFunctions
    else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../build-MathFunctions-Desktop_Qt_5_3_0_MinGW_32bit-Debug/debug/ -lMathFunctions
    else:unix: LIBS += -L$$PWD/../build-MathFunctions-Desktop_Qt_5_3_0_MinGW_32bit-Debug/ -lMathFunctions
    
    INCLUDEPATH += $$PWD/../MathFunctions
    DEPENDPATH += $$PWD/../MathFunctions
    
    win32-g++:CONFIG(release, debug|release): PRE_TARGETDEPS += $$PWD/../build-MathFunctions-Desktop_Qt_5_3_0_MinGW_32bit-Debug/release/libMathFunctions.a
    else:win32-g++:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$PWD/../build-MathFunctions-Desktop_Qt_5_3_0_MinGW_32bit-Debug/debug/libMathFunctions.a
    else:win32:!win32-g++:CONFIG(release, debug|release): PRE_TARGETDEPS += $$PWD/../build-MathFunctions-Desktop_Qt_5_3_0_MinGW_32bit-Debug/release/MathFunctions.lib
    else:win32:!win32-g++:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$PWD/../build-MathFunctions-Desktop_Qt_5_3_0_MinGW_32bit-Debug/debug/MathFunctions.lib
    else:unix: PRE_TARGETDEPS += $$PWD/../build-MathFunctions-Desktop_Qt_5_3_0_MinGW_32bit-Debug/libMathFunctions.a
    
    

    main.cpp

    #include <QCoreApplication>
    #include <QDebug>
    #include "mathfunctions.h"
    
    int main(int argc, char *argv[])
    {
        QCoreApplication a(argc, argv);
    
        int values[] = { 6, 7, 8 };
    
        for(int i = 0; i < sizeof(values)/sizeof(int); i++)
        {
            qDebug() << values[i]
                     << "! = "
                     << MathFunctions::factorial(values[i]);
        }
    
        return a.exec();
    }
    
    

    相关文章

      网友评论

          本文标题:qt 下编译静态库

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