zoukankan      html  css  js  c++  java
  • QT的项目管理文件pro的编写

    QT中,有一个工具qmake可以生成一个makefile文件,它是由项目管理文件pro文件生成而来,pro文件的写法见下表。

    qmake变量

    说明

    举例

    #xxxx

    注释, 从“#”开始,到这一行结束

    #for windows

    TEMPLATE

    模块设置

    TEMPLATE = app

    app(生成应用程序)( 默认、常用)

    lib(生成库文件)(常用)

    vcapp -建立一个应用程序的VisualStudio项目文件

    vclib -建立一个库的VisualStudio项目文件

    subdirs(生成makefile文件编译subdirs指定的子文件夹)(不常用)

    DESTDIR

    指定生成的应用程序放置的目录(建议用相对目录)

    DESTDIR += ../bin

    TARGET

    指定目标文件名(建议跟项目文件同名)

    TARGET = filename

    如果不设置该项目,目标名会被自动设置为跟项目文件一样的名称

    CONFIG

    配置信息

    CONFIG+= qt warn_on release

    编译器标志:

    release - 应用程序将以release模式连编。如果“debug”被指定,它将被忽略。

    debug - 应用程序将以debug模式连编。

    warn_on - 编译器会输出尽可能多的警告信息。如果“warn_off”被指定,它将被忽略。

    warn_off - 编译器会输出尽可能少的警告信息。

    连编的库/应用程序的类型:

    qt - 应用程序是一个Qt应用程序,并且Qt库将会被连接。

    thread - 应用程序是一个多线程应用程序。

    x11 - 应用程序是一个X11应用程序或库。

    windows - 只用于“app”模板:应用程序是一个Windows下的窗口应用程序。

    console - 只用于“app”模板:应用程序是一个Windows下的控制台应用程序。

    dll - 只用于“lib”模板:库是一个共享库(dll)。

    staticlib - 只用于“lib”模板:库是一个静态库。

    plugin - 只用于“lib”模板:库是一个插件,这将会使dll选项生效。

    QT

    加入库模块

    QT += xml

    UI_DIR

    指定uic命令将.ui文件转化成ui_*.h文件的存放的目录

    UI_DIR += forms

    RCC_DIR

    指定rcc命令将.qrc文件转换成qrc_*.h文件的存放目录

    RCC_DIR += ../tmp

    INCLUDEPATH

    头文件包含路径

    INCLUDEPATH += .

    HEADERS

    指定头文件

    HEADERS = hello.h

    HEADERS += hello.h

    SOURCES

    指定源文件

    SOURCES = *.cpp

    对于多源文件,可用空格分开

    SOURCES = 1.cpp 2.cpp 3.cpp

    或者每一个文件可以被列在一个分开的行里面,通过反斜线另起一行

    SOURCES = hello.cpp
    main.cpp

    一个更冗长的方法是单独地列出每一个文件,就像这样

    SOURCES += hello.cpp
    SOURCES += main.cpp

    FORMS

    工程中包含的.ui设计文件

    FORMS += forms/painter.ui

    RESOURCES

    工程中包含的资源文件

    RESOURCES += qrc/painter.qrc

    OBJECTS_DIR

    指定目标文件(obj)的存放目录

    OBJECTS_DIR += ../tmp

    INTERFACES

    添加界面文件(ui)

    INTERFACES = filename.ui

    MOC_DIR

    指定moc命令将含Q_OBJECT的头文件转换成标准.h文件的存放目录

    MOC_DIR += ../tmp

    DEPENDPATH

    程序编译时依赖的相关路径

    DEPENDPATH += . forms include qrc sources

    CODECFORSRC

    源文件编码方式

    CODECFORSRC = GBK

    win32{…}
    unix{…}

    平台相关性处理

    win32 {
    SOURCES += hello_win.cpp
    }

    LANGUAGE

    编程语言

    LANGUAGE = C++

    exists
    !exists

    !exists:如果一个文件不存在,停止qmake

    !exists( main.cpp ) {
      error( "No main.cpp file found")
    }

    LIBS

    LIBS += -L folderPath //引入的lib文件的路径-L:引入路径
    LIBS += -lLibName //引入lib 文件-l : 引入库

    LIBS += -L"$(OutDir)"
    -L"$(SolutionDir)lib"
    -lopengl32
    -lglu32
    -lObjectDbAPI
    -lGraphicsLibD

    如下为一个典型的pro文件:

    TEMPLATE = app          //模块设置,生成应用程序

    TARGET = pm            //指定为pm的目标文件

    CONFIG += qt warn_on        //配置信息,应用程序是一个Qt应用程序,编译器会输出尽可能多的警告信息

     

    win32:CONFIG += debug_and_release  //???

    QT += gui              //加入gui库

    QT += core              //加入QT的核心库

    QT += xml               //加入xml库

    QT += network             //加入network库

    QT += sql               //加入sql库


    INCLUDEPATH += ./include        //头文件包含路径

    INCLUDEPATH += ../svglib/include


    INCLUDEPATH += ../../include/algebra

    INCLUDEPATH += ../../include/nas

    INCLUDEPATH += ../../include/planning

    INCLUDEPATH += ../../include/vstability

    INCLUDEPATH += ../../src_qt/cimxml/include


    win32{              //win32平台相关

    CONFIG(debug, debug|release) : LIBS += -L../../../lib -lsvglibd -lalgebrad -lnasd -lplanningd -lvstabilityd -lsvglibd -lcimxmld

    CONFIG(release, debug|release) : LIBS += -L../../../lib -lsvglib -lalgebra -lnas -lplanning -lvstability -lsvglib -lcimxml

    DESTDIR = ../../../bin

    } else {

    LIBS += -L../../../release/lib -lsvglib -lsvglib -lalgebra -lnas -lplanning -lvstability -lsvglib -lcimxml

    DESTDIR = ../../../release/bin

    }


    OBJECTS_DIR = ../../../TEMP/pm    //指定目标文件(.obj)的存放目录

    MOC_DIR = moc          //指定moc命令将含Q_OBJECT的头文件转换成呢个标准.h文件的存放目录

    UI_DIR = ui             //指定uic命令将.ui文件转化成ui_*.h文件存放目录

    RCC_DIR = rcc           //指定rcc命令将.qrc文件转换成qrc_*.h文件的


    #Header files

    HEADERS += include/pm_managedialog.h   //指定头文件

    HEADERS += include/pm_table_base.h

     


    #Source files          //指定源文件

    SOURCES += main.cpp

    SOURCES += source/pm_managedialog.cpp

    SOURCES += source/pm_table_base.cpp


    #Forms          //工程中包含的.ui设计文件

    FORMS += ui/pm_managedialog.ui

    FORMS += ui/pm_busbarsectiondialog.ui


    #Resource file(s)       //工程中包含的资源文件

    RESOURCES += pm.qrc


    win32:RC_FILE = pm.rc

     

    工程项目中如果头文件或者实现文件或者UI文件有变化,应修改对应的 HEADERSOURCESFORMS部分。

    要从pro文件生成VC工程文件,需在d:cimpowersrcsrc_qt4目录下执行如下命令:qmake -t vcapp -o ./pm/pm.vcproj ./pm/pm.pro

    可以调用vcprojeditorVC工程文件进行处理,运行vcprojeditor程序修改VC工程文件,程序配置如下:

     

    点击“批量修改”按钮,完成后退出即可。

  • 相关阅读:
    DEDECMS里面DEDE函数解析
    dede数据库类使用方法 $dsql
    DEDE数据库语句 DEDESQL命令批量替换 SQL执行语句
    织梦DedeCms网站更换域名后文章图片路径批量修改
    DSP using MATLAB 示例 Example3.12
    DSP using MATLAB 示例 Example3.11
    DSP using MATLAB 示例 Example3.10
    DSP using MATLAB 示例Example3.9
    DSP using MATLAB 示例Example3.8
    DSP using MATLAB 示例Example3.7
  • 原文地址:https://www.cnblogs.com/SamRichard/p/3530640.html
Copyright © 2011-2022 走看看