
E:\workspace\QtWork\qmake\option.cpp:Option::init()
 -project  设置qmake生成工程相关文件,如果用qt creator开发的话这个命令参数基本用不到。
 -prl 设置qmake生成prl文件。
 -set 设置自定义属性,会存放到注册表中。具体参考属性
 -unset  取消自定义属性
 -query 查询自定义属性
 -makefile  默认模式。设置qmake通过输入的.pro文件生成makefile
E:\workspace\QtWork\qmake\library\qmakeglobals.cpp:QMakeGlobals::addCommandLineArguments()
 -- extraargs 设置内置变量QMAKE_EXTRA_ARGS的值,该内置变量默认是空,时态为before,必须设置为最后一个参数
下面的state,设置命令行参数的解析时机,默认为before,每一个state可以设置command和-config参数。command 必须含有"="符号,为了避免被误解析,需要用双引号将command引用起来,使用参考本文下面的案例。如果要在工程的pro文件中输出命令行输入的命令的变量值,需要使用-early或-before。具体原因参考:qmake与配置文件
 -early
 -before
 -after
 -late
-config  添加配置属性
 -nocache  
 -cache 
 -qtconf  设置qt.conf qt读取conf文件
 -platform/-spec 设置主机架构
 -xplatform/-xspec 设置目标机架构
 参数中没有设置回进入环境变量中查找QMAKESPEC和XQMAKESPEC变量,环境变量中没找到会到属性中查找QMAKE_SPEC和QMAKE_XSPEC变量。
 -template/-t  ,设置模板,默认为app,等价于pro文件中的TEMPLATE变量,模板有以下选项
 -template_prefix/-tp  为template 设置前缀。
 -win32  设置路径间隔符号为 (dir_sep = QLatin1Char('\\');)
 -unix    设置路径间隔符号为(dir_sep = QLatin1Char('/');)
E:\workspace\QtWork\qmake\option.cpp:Option::parseCommandLine()
 -d debug-level   设置日志等级 -d表示1级  -d -d表示2级
 -v/-version/--version  qmake版本
 -h/-help/--help 
warn-level  设置警告类型
 -Wall
 -Wparser
 -Wlogic
 -Wdeprecated
 -Wnone
-r/-recursive
 -nr/-norecursive
 -o/-output  指定输出的文件名,如果指定为"-"表示输出到 stdout 。
Option::qmake_mode == Option::QMAKE_GENERATE_MAKEFILE ||Option::qmake_mode == Option::QMAKE_GENERATE_PRL
-nodepend/-nodepends
-nomoc
-createstub
-nodependheuristics
-E (do_preprocess)
project_files.append(filepath);
Option::qmake_mode == Option::QMAKE_GENERATE_PROJECT
-nopwd
project_dirs.append(dirpath);
案例:
qmake -set myproperty ok //设置属性
-config与state结合使用,默认state是before(需要注意,qmake无法识别参数中的tab键,会将tab键当做一个字符,这是一个qmake的小小的bug):
E:/test/t1.pro -o E:/test/ -spec win32-msvc -config dddd "var1=1111" "CONFIG+=debug"  "CONFIG+=qml_debug" -d   -early -config aaaa "var2=2222" -after -config bbbb "var3=3333" -late -config cccc "var3=4444"  -- VVV1该命令对应的组装出来的代码:
 
  
 //E:\workspace\QtWork\qmake\library\qmakeglobals.cpp
void QMakeGlobals::commitCommandLineArguments(QMakeCmdLineParserState &state)
{
    if (!state.extraargs.isEmpty()) {
        QString extra = fL1S("QMAKE_EXTRA_ARGS =");
        for (const QString &ea : qAsConst(state.extraargs))
            extra += QLatin1Char(' ') + QMakeEvaluator::quoteValue(ProString(ea));
        state.cmds[QMakeEvalBefore] << extra;
    }
    for (int p = 0; p < 4; p++) {
        if (!state.configs[p].isEmpty())
            state.cmds[p] << (fL1S("CONFIG += ") + state.configs[p].join(QLatin1Char(' ')));
        extra_cmds[p] = state.cmds[p].join(QLatin1Char('\n'));
    }
    if (xqmakespec.isEmpty())
        xqmakespec = qmakespec;
}
![[附源码]Python计算机毕业设计Django基于人脸识别的社区防疫管理系统](https://img-blog.csdnimg.cn/1943ed69dbfc4d1e92e2b8d28b1f4db2.png)





![[附源码]计算机毕业设计-中国传统手工艺销售平台Springboot程序](https://img-blog.csdnimg.cn/5bd327f20d4947c592b948d0605c14dc.png)
![[附源码]计算机毕业设计JAVA校园失物招领平台](https://img-blog.csdnimg.cn/dc5b3e6103e04b5c9f654939a6355b25.png)





![[附源码]计算机毕业设计springboot校园招聘系统设计](https://img-blog.csdnimg.cn/49f4da80027749e1833ea970e086d699.png)




