美文网首页
Qt pro与pri的使用

Qt pro与pri的使用

作者: BrokenRainK | 来源:发表于2020-04-17 11:28 被阅读0次

    平台区分

    win32 {
    
    }
    macx {
    
    }
    unix {
    
    }
    

    根据平台位数加载

    win32 {
        contains(DEFINES, WIN64) { DESTDIR = $${PWD}/../../bin64
        } else { DESTDIR = $${PWD}/../../bin32 }
    }
    

    编译器位数区分

    contains(QT_ARCH, i386) {
        message("32-bit")
        DESTDIR = $${PWD}/bin32
    } else {
        message("64-bit")
        DESTDIR = $${PWD}/bin64
    }
    

    判断debug和release

    CONFIG(debug,debug|release){
      message("debug")
    }
    CONFIG(release,debug|release){
      message("release")
    }
    

    判断编译器类型、编译器版本、操作系统

    //GCC编译器
    #ifdef __GNUC__
    #if __GNUC__ >= 3 // GCC3.0以上
    
    //MSVC编译器
    #ifdef _MSC_VER
    #if _MSC_VER >=1000 // VC++4.0以上
    #if _MSC_VER >=1100 // VC++5.0以上
    #if _MSC_VER >=1200 // VC++6.0以上
    #if _MSC_VER >=1300 // VC2003以上
    #if _MSC_VER >=1400 // VC2005以上
    #if _MSC_VER >=1500 // VC2008以上
    #if _MSC_VER >=1600 // VC2010以上
    #if _MSC_VER >=1700 // VC2012以上
    #if _MSC_VER >=1800 // VC2013以上
    #if _MSC_VER >=1900 // VC2015以上
    
    //Borland C++
    #ifdef __BORLANDC__
    
    //Cygwin
    #ifdef __CYGWIN__
    #ifdef __CYGWIN32__
    
    //mingw
    #ifdef __MINGW32__
    
    //windows
    #ifdef _WIN32    //32bit
    #ifdef _WIN64    //64bit
    #ifdef _WINDOWS     //图形界面程序
    #ifdef _CONSOLE     //控制台程序
    //Windows(95/98/Me/NT/2000/XP/Vista)和Windows CE都定义了
    #if (WINVER >= 0x030a)     // Windows 3.1以上
    #if (WINVER >= 0x0400)     // Windows 95/NT4.0以上
    #if (WINVER >= 0x0410)     // Windows 98以上
    #if (WINVER >= 0x0500)     // Windows Me/2000以上
    #if (WINVER >= 0x0501)     // Windows XP以上
    #if (WINVER >= 0x0600)     // Windows Vista以上
    //_WIN32_WINNT 内核版本
    #if (_WIN32_WINNT >= 0x0500) // Windows 2000以上
    #if (_WIN32_WINNT >= 0x0501) // Windows XP以上
    #if (_WIN32_WINNT >= 0x0600) // Windows Vista以上
    

    判断Qt版本及构建套件位数

    #打印版本信息
    message(qt version: $$QT_VERSION)
    
    greaterThan(QT_MAJOR_VERSION, 4) {
      message(当前为Qt5及以上版本)
    } else {
      message(当前为Qt4及以下版本)
    }
    
    QT_VERSION = $$[QT_VERSION]
    QT_VERSION = $$split(QT_VERSION, ".")
    QT_VER_MAJ = $$member(QT_VERSION, 0)
    QT_VER_MIN = $$member(QT_VERSION, 1)
    
    greaterThan(QT_VER_MAJ, 4) {
      greaterThan(QT_VER_MIN, 9) {
        message(Qt版本大于5.9)
      } else {
        message(Qt版本为5.0 - 5.9)
      }
    } else {
      lessThan(QT_VER_MIN, 9) {
        message(Qt版本小于4.9)
      } else {
        message(Qt版本为4.9 - 5.0(不包含5.0))
      }
    }
    
    equals(QT_VER_MAJ ,5) | equals(QT_VER_MIN ,9) {
      message(Qt版本为5.9)
    }
    
    #QT_ARCH是Qt5新增的,在Qt4上没效果
    #打印当前Qt构建套件的信息
    message($$QT_ARCH)
    #表示arm平台构建套件
    contains(QT_ARCH, arm) {}
    #表示32位的构建套件
    contains(QT_ARCH, i386) {}
    #表示64位的构建套件
    contains(QT_ARCH, x86_64) {}
    

    编译文件生成目录

    UI_DIR  = temp/Gui        #UI中间文件生成目录
    MOC_DIR = temp/Moc        #moc中间文件生成目录
    RCC_DIR = temp/rcc        #资源文件中间文件生成目录
    OBJECTS_DIR = temp/Obj    #指定目标文件(obj)的存放目录
    DESTDIR = $${PWD}/bin32   #指定生成的应用程序放置的目录
    

    pro包含使用pri封装的模块

    include(module/MyButton/MyButton.pri)
    

    相关文章

      网友评论

          本文标题:Qt pro与pri的使用

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