使用qmake构建Qt项目

一、Qt工程配置文件“xxx.pro”中常用配置


TARGET = test
QT  += widget  mysql  network   designer
CONFIG += debug
TEMPLATE = app
DESTDIR = ./bin

resources += xx.qrc
forms +=  xx.ui
headers += xx.h
sources += main.cpp \
    xxx.cpp
    


# 预处理定义列表
DEFFINES += 

# 应用程序的依赖关系搜索路径
DEPENDPATH +=

# 仅在Windows有效:为应用程序链接的一个.def文件
DEF_FILE =

# 查找所提供的文件的搜索路径
VPATH = 

# 指定库或者程序的版本号
VERSION = xx.xx.0



# 声明其它库的路径和对应库
LIBS += -L/usr/local/lib   -lmath
INCLUDEPATH += c:/msdev/include   d:/stl/include 

# 根据不同的操作系统平台添加对应的头文件
win32{
    sources += win.cpp
}
unix{
    sources += unix.cpp
}

# 编译时判断某文件是否存在
!exists(main.cpp){
    error("No main.cpp file found.")
}

# 只在win32的Debug模式下生成控制台窗口
win32{
    debug{
        config += console
    }
    Release{
      
   }
}

# 或者使用以下方式
win32:debug{
    config += console
}

二、编写“.pro” 文件的注意事项

1、在“.pro”文件中获取变量的内容使用$$: QMAKE_DOCS = $$PWD/doc/qtcore.qdocconf
2、使用空格来分割变量对应的多个值: QT += widget mysql network
3、当变量值含空格时,使用双引号: win32:INCLUDEPATH += "C:/mylibs/extra headers"

三、pro文件中的TEMPLATE 变量有以下取值:

    app: 创建一个应用程序的Makefile
    lib: 创建一个库,包括动态库或静态库的Makefile
    aux: 不会创建任何东西的Makefile,通常用于解释型语言编写的工程代码
    subdirs: 包含使用SUBDIR变量指定的子目录规则的生成文件,每个子目录必须包含自己的pri文件
    vcapp: 构建一个应用程序的VisualStudio项目文件
    vclib: 构建一个库的VisualStudio项目文件
    vcsubdirs: 构建一个VisualStudia解决方案文件,以便在子目录中构建项目

四、 pro文件中的CONFIG变量有以下取值的一个或多个值列表:

    debug: 仅构建debug
    release:仅构建release
    debug_and_release: 同时构建debug和release, 编译时需要使用make all 而不是make
    build_all: 同时构建debug和release并且默认采用make all进行编译
     
    testcase: 将template=app 的项目标记为测试项目,编译时需要使用 make check TESTRUNNER="test-wrapper --timeout 120" TESTARGS="-o result.xml,xunitxml"
    dll: 将template=lib 的项目标记为*共享库*
    staticlib: 将template=lib 的项目标记为*静态库*
    plugin:  将template=lib 的项目标记为*插件*

    CONFIG -= embed_manifest_dll: 配置删除dll的清单嵌入
    CONFIG -= embed_manifest_exe: 配置删除exe的清单嵌入

五、测试config变量中的某些配置项是否存在

    CONFIG += debug_and_release
    CONFIG(debug, debug|release) {
        TARGET = debug_binary
    } else {
        TARGET = release_binary
    }

六、在工程中添加或移除Qt模块

 QT += network xml
 QT -= gui     # 默认会包含GUI,使用该方式可以排除默认包含的gui模块

七、使用qmake命令行编译Qt工程: `qmake [mode] [options] files

    mode选项包含下列值:
        -makefile: qmake输出将是一个Makefile
        -project:  qmake输出将是一个项目文件
        
    options包含下列值: 
        -help: 输出帮助信息
        -o:  qmake输出将被定向到file中,如果file被指定为“-”则输出指向stdout
        -d:  qmake将输出调试信息

        -t tmpl: qmake将用tmpl覆盖任何设置的TEMPLATE变量,但只有在.pro文件被处理之后
        -tp prefix:  qmake将向TEMPLATE变量添加prefix

        -Wall: 报告所有已知的警告
        -Wnone: 不会生成任何警告信息
        -Wparser: 仅会报告您在解析项目文件的过程中存在常见的缺陷和潜在的问题
        -Wlogic: 将报告项目文件中常见的陷阱和潜在的问题

        -after: 将在指定的文件后处理在命令行上给出的分配
        -nocache: 忽略.qmake.cache文件
        -cache file: 将使用文件作为缓存文件,而忽略任何其他找到的.qmake.cache文件
        -nodepend: 不会生成任何依赖项信息
        -spec macx-xcode: 指定目标平台为macx-xcode的工程项目

八、使用qmake 指令创建Visio Studio项目:

    qmake -tp vc :  创建基于vs的.vcproj文件项目,template = vcapp
    qmake -tp vc -r:  创建基于vs的解决方案项目文件,同 template = vcsubdirs
  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值