QMAKE变量部分

1 篇文章 0 订阅
该文详细介绍了QT框架中用于配置项目和编译选项的变量,包括CONFIG、DEFINE、DEPENDPATH、DESTDIR、FORMS、INCLUDEPATH、SOURCES等,以及如何设置编译模式、异常处理、C标准和库依赖。此外,还提到了QT模块的添加与移除,以及子工程的管理策略。
摘要由CSDN通过智能技术生成

使用方式 Variable += option1|option2......

常见变量及部分内容

CONFIG定义项目的配置和编译选项;大小写敏感

变量值/选项(options)说明
release/debug可以有多个,最后一个生效
debug_and_release包含两种模式,需要分别编译

debug_and_release_target

分别生成在对应文件路径(debug、release)(默认包含)

build_all

同时编译不同模式
oredered        包含子路径(subdirs)时,按顺序编译(不建议使用,避免相互引用,建议在subdirs内进行配置

warn_on/warn_off

编译器告警数目限制(是对少,而非有无)

exceptions/exceptions_off                

异常提示(默认打开)

stl/stl_off

STL支持

thread

多线程,在包含qt模式下即有效(后者默认包含)

utf8_source

编辑器编码模式,默认值

c99/c11/c17

C标准,编译器不支持相关版本时,设置下无效

c++11/c++14/c++17

C++标准,编译器不支持相关版本时,设置下无效

depend_includepath

附件INCLUDEPATH到DEPENDPATH,默认包含

qt

基于qt的应用或库,需要包含,默认包含
shared/dll                        生产共享对象(object或DLL)
static/staticlib静态对象
plugin插件静态库(默认激活dll)

app_bundle/lib_bundle/plugin_bundle

产生的app、静态库、插件放在一个包(bundle)

DEFINE::加入自定义宏,编译时结合测试函数使用

使用:DEFINE+= MYDEFINE

DEPENDPATH::依赖路径

DESTDIR::生成目标路径,使用:DESTDIR=./lib

FORMS:UI文件,使用:FORMS = myclass.h \ login.h \ mainwindow.h(多个文件使用"\"分隔)

INCLUDEPATH:包含路径 ,INCLUDEPATH = c:/msdev/include d:/stl/include;路径包含空格的需要使用"":win32:INCLUDEPATH += "C:/mylibs/extra headers"

SOURCES:代码源文件:

        SOURCES = myclass.cpp \ login.cpp \ mainwindow.cpp

INSTALLS:后期安装执行命令,会将生成内容放到指定路径下

target.path += $$[QT_INSTALL_PLUGINS]/imageformats          INSTALLS += target

LIBS:包含的库列表;使用:unix模式带符号:-Lxxxx(路径), -lxxx(库名称),Windows: 路径名称,Windows下unix模式依然生效:

        unix:LIBS += -L/usr/local/lib -lmath

        win32:LIBS += c:/mylibs/math.lib

包含空格时,需要使用""进行引用:

        win32:LIBS += "C:/mylibs/extra libs/extra.lib"

        unix:LIBS += "-L/home/user/extra libs" -lextra

MOC_DIR:moc文件路径

        unix:MOC_DIR = ../myproject/tmp

        win32:MOC_DIR = c:/myproject/tmp

OBJECTS_DIR:中间产品目录

PWD:工作路径

QT:qt模块 添加模块:QT += sql;移除模块:QT -= gui # Only the core module is used.

QT_VERSION:qt版本

RCC_DIR:qrc文件的编译输出路径

SUBDIRS:子工程内容,包含子工程时,当前项目引用的子项目列表,编译按顺序执行

        SUBDIRS = kernel \ tools \ myapp;

如果存在依赖顺序,可使用depends修正:

        SUBDIRS += my_executable my_library tests doc

        my_executable.depends = my_library

        tests.depends = my_executable

TARGET:目标文件类型,默认包含项目名称

        TEMPLATE = app

        TARGET = myapp

        SOURCES = main.cpp

TEMPLATE:项目生成是的模板文件名称:

app:应用程序

lib:库文件

subdirs:包含子项目的工程

vcapp\vclib:Windows下的指定类型

        TEMPLATE = lib

        SOURCES = main.cpp

        TARGET = mylib

UI_DIR:ui文件路径

VERSION:应用版本,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值