• qmake 与 配置文件


    qmake生成makefile的时候,背后会先执行一堆用qmake language编写的库文件(配置文件),用于初始化一些环境相关的工作,为后续解析pro文件做准备。

    下面是qmake解析一个新建的qt工程的pro文件背后所解析的配置文件的文件路径。通过特殊变量QMAKE_INTERNAL_INCLUDED_FILES来获取。解析的文件按解析完成时间从上到下排列,(排在前面的不一定是最先打开的)。这些配置文件中有定义一部分全局变量,可以在你的pro文件中访问。(qmake解析文件的访问顺序需要通过 -d参数来查看)

    .qmake.super ,.qmake.conf ,.qmake.cache ,.qmake.stash是在解析配置文件之前就完成的,qmake对这几个文件设置LoadHidden参数给隐藏起来的。记录这些配置文件的qmake源码逻辑。

    1. //E:\workspace\QtWork\qmake\library\qmakeevaluator.cpp
    2. QMakeEvaluator::VisitReturn QMakeEvaluator::evaluateFile(
    3. const QString &fileName, QMakeHandler::EvalFileType type, LoadFlags flags)
    4. {
    5. QMakeParser::ParseFlags pflags = QMakeParser::ParseUseCache;
    6. if (!(flags & LoadSilent))
    7. pflags |= QMakeParser::ParseReportMissing;
    8. if (ProFile *pro = m_parser->parsedProFile(fileName, pflags)) {
    9. m_locationStack.push(m_current);
    10. VisitReturn ok = visitProFile(pro, type, flags);
    11. m_current = m_locationStack.pop();
    12. pro->deref();
    13. if (ok == ReturnTrue && !(flags & LoadHidden)) {
    14. ProStringList &iif = m_valuemapStack.first()[ProKey("QMAKE_INTERNAL_INCLUDED_FILES")];
    15. ProString ifn(fileName);
    16. if (!iif.contains(ifn))
    17. iif << ifn;
    18. }
    19. return ok;
    20. } else {
    21. return ReturnFalse;
    22. }
    23. }

     另外一个特殊的变量,QMAKE_INTERNAL_INCLUDED_FEATURES。

    1. defineTest(printNames){
    2. for(var,ARGS):message($$var)
    3. }
    4. printNames($$QMAKE_INTERNAL_INCLUDED_FEATURES)
    5. #输出:
    6. Project MESSAGE: D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/spec_pre.prf
    7. Project MESSAGE: D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qt_config.prf
    8. Project MESSAGE: D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qt_functions.prf
    9. Project MESSAGE: D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/spec_post.prf
    10. Project MESSAGE: D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/win32/default_pre.prf
    11. Project MESSAGE: D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/default_pre.prf
    12. Project MESSAGE: D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exclusive_builds.prf
    13. Project MESSAGE: D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/toolchain.prf
    14. Project MESSAGE: D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/spec_pre.prf
    15. Project MESSAGE: D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qt_config.prf
    16. Project MESSAGE: D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qt_functions.prf
    17. Project MESSAGE: D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/spec_post.prf
    18. Project MESSAGE: D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/win32/default_pre.prf
    19. Project MESSAGE: D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/default_pre.prf
    20. Project MESSAGE: D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exclusive_builds.prf
    21. Project MESSAGE: D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/toolchain.prf

    下面是调试qmake时(注意这里不是调试普通的工程文件,建议不要在调试普通工程文件时使用-d参数,但是可以在命令行窗口中用qmake生成makefile时使用-d参数。),用“-d” 参数时,打印出来的日志的一小部分,首先进入spec_pre.prf文件,“-d”参数,让qmake对每一句qmake language写的代码都做打印,可以对比下面日志和spec_pre.prf的内容
      D:\Qt\Qt5.12.0\5.12.0\msvc2015_64\mkspecs\features\spec_pre.prf

    1. # This file is loaded by qmake right before loading the qmakespec.
    2. # At this point, the built-in variables have been set up and the project's
    3. # .qmake.super was read (if present).
    4. QMAKE_DIR_SEP = $$DIR_SEPARATOR
    5. QMAKE_DIRLIST_SEP = $$DIRLIST_SEPARATOR
    6. QMAKE_EXT_C = .c
    7. QMAKE_EXT_CPP = .cpp .cc .cxx
    8. QMAKE_EXT_OBJC = .m
    9. QMAKE_EXT_OBJCXX = .mm
    10. QMAKE_EXT_CPP_MOC = .moc
    11. QMAKE_EXT_H = .h .hpp .hh .hxx
    12. QMAKE_EXT_H_MOC = .cpp
    13. QMAKE_EXT_JS = .js
    14. QMAKE_EXT_LEX = .l
    15. QMAKE_EXT_LIBTOOL = .la
    16. QMAKE_EXT_PKGCONFIG = .pc
    17. QMAKE_EXT_PRL = .prl
    18. QMAKE_EXT_UI = .ui
    19. QMAKE_EXT_YACC = .y
    20. QMAKE_CPP_MOD_MOC =
    21. QMAKE_H_MOD_MOC = moc_
    22. QMAKE_MOD_LEX = _lex
    23. QMAKE_MOD_YACC = _yacc
    24. defineTest(ensurePathEnv) {
    25. isEmpty(QMAKE_PATH_ENV) {
    26. QMAKE_PATH_ENV = $$(PATH)
    27. QMAKE_PATH_ENV = $$split(QMAKE_PATH_ENV, $$QMAKE_DIRLIST_SEP)
    28. export(QMAKE_PATH_ENV)
    29. }
    30. }
    31. equals(QMAKE_HOST.os, Windows) {
    32. QMAKE_EXT_OBJ = .obj
    33. QMAKE_EXT_RES = .res
    34. QMAKE_SH =
    35. ensurePathEnv()
    36. for(dir, QMAKE_PATH_ENV) {
    37. exists($$dir/sh.exe) {
    38. QMAKE_SH = $$dir/sh.exe
    39. break()
    40. }
    41. }
    42. } else {
    43. QMAKE_EXT_CPP += .C
    44. QMAKE_EXT_H += .H
    45. QMAKE_EXT_OBJ = .o
    46. QMAKE_SH = sh
    47. }
    48. CONFIG = file_copies qmake_use qt warn_on release link_prl
    49. QT = core gui

    这是qmake开始解析的调用堆栈spec_pre.prf,第9行的进入的evaluateFile是输入的pro工程文件。

    杂谈:qmake解析一个简单的qt工程的 工程文件t.pro 时 完整配置文件访问记录:

    1. QT +=network widgets
    2. TEMPLATE = app
    3. CONFIG += c++11 console
    4. CONFIG -= app_bundle
    5. SOURCES += \
    6. main.cpp \
    7. base.cpp \
    8. base1.cpp
    9. HEADERS += \
    10. base.h \
    11. base1.h
    12. DISTFILES +=
    13. RESOURCES +=
    14. message(CONFIG = $$COFIG)

    配置文件文件访问与函数调用过程:

    1. ---------------------runQMake(int argc, char **argv)---------------------------------------------------start
    2. ---------------------QMakeProject::QMakeProject()-------------------------------------------start end
    3. ---------------------QMakeProject::read(t1.pro,...LoadFlags=LoadPreFiles|LoadPostFiles)----------start parsing for checking the grammar error,and evalute the values
    4. ---------------------QMakeEvaluator::evaluateFile(t1.pro,...LoadFlags=LoadPreFiles|LoadPostFiles)------start
    5. DEBUG 0: evaluateing file E:/test/t1.pro
    6. ---------------------QMakeEvaluator::visitProFile(t1.pro,...LoadFlags=LoadPreFiles|LoadPostFiles)------start
    7. ---------------------QMakeEvaluator::visitProFile(t1.pro,...LoadFlags=LoadPreFiles|LoadPostFiles) if (flags & LoadPreFiles)----start
    8. QMakeBaseEnv **baseEnvPtr = &m_option->baseEnvs[QMakeBaseKey(m_buildRoot, m_stashfile, m_hostBuild)];//init m_option->baseEnvs
    9. if (!*baseEnvPtr)
    10. *baseEnvPtr = new QMakeBaseEnv;
    11. QMakeBaseEnv *baseEnv = *baseEnvPtr;
    12. if (!baseEnv->evaluator) {
    13. QMakeEvaluator *baseEval = new QMakeEvaluator(m_option, m_parser, m_vfs, m_handler);
    14. baseEnv->evaluator = baseEval;
    15. baseEval->loadSpec();
    16. ---------------------LoadPreFiles:loadSpec()---------------start
    17. ---------------------get value of four variable XQMAKESPEC、QMAKESPEC、QMAKEPATH、QMAKEFEATURES from .qmake.super .qmake.cache .qmake.stash if exsit------------
    18. ---------------------evaluateFile(_QMAKE_SUPER_CACHE_/.qmake.super)------start end
    19. ---------------------loadInternalSpec()----------------------start
    20. ---------------------evaluateFeatureFile(spec_pre.prf)-------start
    21. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/spec_pre.prf
    22. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/spec_pre.prf
    23. ---------------------evaluateFeatureFile(spec_pre.prf)-------end
    24. ---------------------evaluateFile(qmake.conf)----------------start
    25. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/win32-msvc/qmake.conf
    26. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/common/msvc-desktop.conf
    27. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/common/angle.conf
    28. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/common/angle.conf
    29. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/common/windows-vulkan.conf
    30. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/common/windows-vulkan.conf
    31. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/common/msvc-desktop.conf
    32. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qt_config.prf
    33. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/qconfig.pri
    34. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/qconfig.pri
    35. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3danimation.pri
    36. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3danimation.pri
    37. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3danimation_private.pri
    38. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3danimation_private.pri
    39. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dcore.pri
    40. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dcore.pri
    41. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dcore_private.pri
    42. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dcore_private.pri
    43. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dextras.pri
    44. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dextras.pri
    45. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dextras_private.pri
    46. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dextras_private.pri
    47. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dinput.pri
    48. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dinput.pri
    49. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dinput_private.pri
    50. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dinput_private.pri
    51. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dlogic.pri
    52. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dlogic.pri
    53. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dlogic_private.pri
    54. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dlogic_private.pri
    55. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquick.pri
    56. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquick.pri
    57. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquick_private.pri
    58. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquick_private.pri
    59. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquickanimation.pri
    60. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquickanimation.pri
    61. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquickanimation_private.pri
    62. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquickanimation_private.pri
    63. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquickextras.pri
    64. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquickextras.pri
    65. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquickextras_private.pri
    66. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquickextras_private.pri
    67. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquickinput.pri
    68. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquickinput.pri
    69. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquickinput_private.pri
    70. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquickinput_private.pri
    71. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquickrender.pri
    72. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquickrender.pri
    73. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquickrender_private.pri
    74. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquickrender_private.pri
    75. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquickscene2d.pri
    76. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquickscene2d.pri
    77. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquickscene2d_private.pri
    78. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3dquickscene2d_private.pri
    79. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3drender.pri
    80. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3drender.pri
    81. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3drender_private.pri
    82. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_3drender_private.pri
    83. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_accessibility_support_private.pri
    84. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_accessibility_support_private.pri
    85. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_axbase.pri
    86. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_axbase.pri
    87. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_axbase_private.pri
    88. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_axbase_private.pri
    89. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_axcontainer.pri
    90. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_axcontainer.pri
    91. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_axcontainer_private.pri
    92. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_axcontainer_private.pri
    93. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_axserver.pri
    94. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_axserver.pri
    95. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_axserver_private.pri
    96. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_axserver_private.pri
    97. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_bluetooth.pri
    98. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_bluetooth.pri
    99. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_bluetooth_private.pri
    100. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_bluetooth_private.pri
    101. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_bootstrap_private.pri
    102. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_bootstrap_private.pri
    103. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_concurrent.pri
    104. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_concurrent.pri
    105. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_concurrent_private.pri
    106. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_concurrent_private.pri
    107. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_core.pri
    108. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_core.pri
    109. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_core_private.pri
    110. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_core_private.pri
    111. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_dbus.pri
    112. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_dbus.pri
    113. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_dbus_private.pri
    114. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_dbus_private.pri
    115. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_designer.pri
    116. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_designer.pri
    117. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_designer_private.pri
    118. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_designer_private.pri
    119. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_designercomponents_private.pri
    120. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_designercomponents_private.pri
    121. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_devicediscovery_support_private.pri
    122. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_devicediscovery_support_private.pri
    123. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_edid_support_private.pri
    124. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_edid_support_private.pri
    125. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_egl_support_private.pri
    126. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_egl_support_private.pri
    127. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_eventdispatcher_support_private.pri
    128. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_eventdispatcher_support_private.pri
    129. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_fb_support_private.pri
    130. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_fb_support_private.pri
    131. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_fontdatabase_support_private.pri
    132. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_fontdatabase_support_private.pri
    133. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_gamepad.pri
    134. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_gamepad.pri
    135. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_gamepad_private.pri
    136. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_gamepad_private.pri
    137. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_gui.pri
    138. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_gui.pri
    139. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_gui_private.pri
    140. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_gui_private.pri
    141. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_help.pri
    142. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_help.pri
    143. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_help_private.pri
    144. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_help_private.pri
    145. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_location.pri
    146. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_location.pri
    147. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_location_private.pri
    148. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_location_private.pri
    149. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_multimedia.pri
    150. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_multimedia.pri
    151. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_multimedia_private.pri
    152. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_multimedia_private.pri
    153. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_multimediawidgets.pri
    154. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_multimediawidgets.pri
    155. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_multimediawidgets_private.pri
    156. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_multimediawidgets_private.pri
    157. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_network.pri
    158. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_network.pri
    159. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_network_private.pri
    160. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_network_private.pri
    161. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_nfc.pri
    162. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_nfc.pri
    163. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_nfc_private.pri
    164. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_nfc_private.pri
    165. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_opengl.pri
    166. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_opengl.pri
    167. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_opengl_private.pri
    168. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_opengl_private.pri
    169. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_openglextensions.pri
    170. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_openglextensions.pri
    171. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_openglextensions_private.pri
    172. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_openglextensions_private.pri
    173. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_packetprotocol_private.pri
    174. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_packetprotocol_private.pri
    175. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_platformcompositor_support_private.pri
    176. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_platformcompositor_support_private.pri
    177. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_positioning.pri
    178. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_positioning.pri
    179. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_positioning_private.pri
    180. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_positioning_private.pri
    181. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_positioningquick.pri
    182. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_positioningquick.pri
    183. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_positioningquick_private.pri
    184. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_positioningquick_private.pri
    185. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_printsupport.pri
    186. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_printsupport.pri
    187. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_printsupport_private.pri
    188. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_printsupport_private.pri
    189. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_qml.pri
    190. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_qml.pri
    191. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_qml_private.pri
    192. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_qml_private.pri
    193. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_qmldebug_private.pri
    194. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_qmldebug_private.pri
    195. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_qmldevtools_private.pri
    196. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_qmldevtools_private.pri
    197. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_qmltest.pri
    198. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_qmltest.pri
    199. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_qmltest_private.pri
    200. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_qmltest_private.pri
    201. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_qtmultimediaquicktools_private.pri
    202. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_qtmultimediaquicktools_private.pri
    203. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_quick.pri
    204. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_quick.pri
    205. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_quick_private.pri
    206. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_quick_private.pri
    207. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_quickcontrols2.pri
    208. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_quickcontrols2.pri
    209. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_quickcontrols2_private.pri
    210. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_quickcontrols2_private.pri
    211. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_quickparticles_private.pri
    212. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_quickparticles_private.pri
    213. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_quickshapes_private.pri
    214. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_quickshapes_private.pri
    215. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_quicktemplates2_private.pri
    216. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_quicktemplates2_private.pri
    217. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_quickwidgets.pri
    218. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_quickwidgets.pri
    219. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_quickwidgets_private.pri
    220. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_quickwidgets_private.pri
    221. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_remoteobjects.pri
    222. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_remoteobjects.pri
    223. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_remoteobjects_private.pri
    224. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_remoteobjects_private.pri
    225. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_repparser.pri
    226. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_repparser.pri
    227. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_repparser_private.pri
    228. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_repparser_private.pri
    229. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_scxml.pri
    230. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_scxml.pri
    231. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_scxml_private.pri
    232. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_scxml_private.pri
    233. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_sensors.pri
    234. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_sensors.pri
    235. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_sensors_private.pri
    236. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_sensors_private.pri
    237. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_serialbus.pri
    238. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_serialbus.pri
    239. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_serialbus_private.pri
    240. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_serialbus_private.pri
    241. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_serialport.pri
    242. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_serialport.pri
    243. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_serialport_private.pri
    244. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_serialport_private.pri
    245. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_sql.pri
    246. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_sql.pri
    247. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_sql_private.pri
    248. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_sql_private.pri
    249. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_svg.pri
    250. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_svg.pri
    251. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_svg_private.pri
    252. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_svg_private.pri
    253. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_testlib.pri
    254. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_testlib.pri
    255. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_testlib_private.pri
    256. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_testlib_private.pri
    257. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_texttospeech.pri
    258. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_texttospeech.pri
    259. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_texttospeech_private.pri
    260. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_texttospeech_private.pri
    261. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_theme_support_private.pri
    262. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_theme_support_private.pri
    263. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_uiplugin.pri
    264. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_uiplugin.pri
    265. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_uitools.pri
    266. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_uitools.pri
    267. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_uitools_private.pri
    268. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_uitools_private.pri
    269. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_vulkan_support_private.pri
    270. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_vulkan_support_private.pri
    271. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_webchannel.pri
    272. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_webchannel.pri
    273. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_webchannel_private.pri
    274. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_webchannel_private.pri
    275. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_websockets.pri
    276. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_websockets.pri
    277. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_websockets_private.pri
    278. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_websockets_private.pri
    279. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_webview.pri
    280. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_webview.pri
    281. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_webview_private.pri
    282. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_webview_private.pri
    283. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_widgets.pri
    284. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_widgets.pri
    285. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_widgets_private.pri
    286. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_widgets_private.pri
    287. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_windowsuiautomation_support_private.pri
    288. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_windowsuiautomation_support_private.pri
    289. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_winextras.pri
    290. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_winextras.pri
    291. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_winextras_private.pri
    292. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_winextras_private.pri
    293. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_xml.pri
    294. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_xml.pri
    295. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_xml_private.pri
    296. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_xml_private.pri
    297. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_xmlpatterns.pri
    298. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_xmlpatterns.pri
    299. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_xmlpatterns_private.pri
    300. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_xmlpatterns_private.pri
    301. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_zlib_private.pri
    302. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/modules/qt_lib_zlib_private.pri
    303. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qt_functions.prf
    304. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qt_functions.prf
    305. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qt_config.prf
    306. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/win32-msvc/qmake.conf
    307. ---------------------evaluateFile(qmake.conf)-----------------------------------------end
    308. ---------------------evaluateFeatureFile(spec_post.prf)------------------------------start
    309. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/spec_post.prf
    310. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/spec_post.prf
    311. ---------------------evaluateFeatureFile(spec_post.prf)--------------------------------end
    312. ---------------------loadInternalSpec()-----------------------------------------end
    313. ---------------------evaluateFile(_QMAKE_CONF_/.qmake.conf)-----------------------start end
    314. ---------------------evaluateFile(_QMAKE_CACHE_/.qmake.cache)---------------------start end
    315. ---------------------evaluateFile(_QMAKE_STASH_/.qmake.stash)---------------------start end
    316. ---------------------loadSpec()--------------------------------------------------end
    317. }
    318. ---------------------QMakeEvaluator::visitProFile(t1.pro,...LoadFlags=LoadPreFiles|LoadPostFiles) if (flags & LoadPreFiles)-----end
    319. ---------------------evaluateCommand() (process command input early_State )--------------start end
    320. ---------------------applyExtraConfigs()-------------------------------------------------start end
    321. ---------------------evaluateFeatureFile(default_pre.prf)---------------------------------------start
    322. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/win32/default_pre.prf
    323. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/default_pre.prf
    324. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exclusive_builds.prf
    325. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exclusive_builds.prf
    326. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/toolchain.prf
    327. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/common/msvc-version.conf
    328. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/common/msvc-version.conf
    329. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/toolchain.prf
    330. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/default_pre.prf
    331. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/win32/default_pre.prf
    332. ---------------------evaluateFeatureFile(default_pre.prf)-------------------------------------end
    333. ---------------------evaluateCommand() (process command input before_State)--------------start end
    334. ---------------------applyExtraConfigs()---------------------------------------------------start end
    335. ---------------------visitProBlock(t1.pro)------------------------------------------------start
    336. ---------------------parse and evaluate codes in t1.pro, and evaluate includeing pri/pro/prf if any-------------start end
    337. Project MESSAGE:CONFIG = lex yacc debug exceptions depend_includepath testcase_targets import_plugins import_qpa_plugin windows file_copies qmake_use qt warn_on release link_prl flat debug_and_release debug_and_release_target precompile_header autogen_precompile_source embed_manifest_dll embed_manifest_exe shared release no_plugin_manifest win32 msvc copy_dir_files c++11 win32-msvc2015 debug qml_debug c++11 console
    338. ---------------------visitProBlock(t1.pro)-----------------------------end
    339. ---------------------evaluateCommand() (process command input after_State)--------------start end
    340. ---------------------applyExtraConfigs()--------------------------------------------------start end
    341. ---------------------evaluateFeatureFile(default_post.prf)-------start
    342. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/default_post.prf
    343. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/resolve_config.prf
    344. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/resolve_config.prf
    345. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exclusive_builds_post.prf
    346. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exclusive_builds_post.prf
    347. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/default_post.prf
    348. ---------------------evaluateFeatureFile(default_post.prf)-------end
    349. ---------------------evaluateCommand() (process command input late_State)--------------start end
    350. ---------------------evaluateConfigFeatures()(process CONFIG feature files,will make the file name,and find the file in the dir have been used in upper process)--------------------start
    351. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/win32/console.prf
    352. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/win32/console.prf
    353. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qml_debug.prf
    354. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qml_debug.prf
    355. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/precompile_header.prf
    356. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/precompile_header.prf
    357. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/warn_on.prf
    358. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/warn_on.prf
    359. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qt.prf
    360. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qt.prf
    361. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/resources.prf
    362. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/resources.prf
    363. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/moc.prf
    364. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/moc.prf
    365. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/win32/opengl.prf
    366. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/win32/opengl.prf
    367. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/uic.prf
    368. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/uic.prf
    369. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qmake_use.prf
    370. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qmake_use.prf
    371. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/file_copies.prf
    372. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/file_copies.prf
    373. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/testcase_targets.prf
    374. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/testcase_targets.prf
    375. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exceptions.prf
    376. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exceptions.prf
    377. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/yacc.prf
    378. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/yacc.prf
    379. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/lex.prf
    380. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/lex.prf
    381. ---------------------evaluateConfigFeatures()--------------------end
    382. DEBUG 0: done evaluateing file E:/test/t1.pro
    383. ---------------------QMakeEvaluator::visitProFile(t1.pro,...LoadFlags=LoadPreFiles|LoadPostFiles)------end
    384. ---------------------QMakeEvaluator::evaluateFile(t1.pro,...LoadFlags=LoadPreFiles|LoadPostFiles)------end
    385. ---------------------QMakeProject::read(t1.pro,...LoadFlags=LoadPreFiles|LoadPostFiles)----------end
    386. ---------------------MetaMakefileGenerator::createMetaGenerator()----------------------start generate makefiles and vs.proj and so on
    387. ---------------------BuildsMetaMakefileGenerator::BuildsMetaMakefileGenerator()--------------------------------start end
    388. ---------------------BuildsMetaMakefileGenerator::init()------------------------start
    389. ---------------------BuildsMetaMakefileGenerator::processBuild(debug)----------------start generate Makefile.DEBUG
    390. ---------------------QMakeProject::read()------------------------------------------start
    391. ---------------------QMakeEvaluator::evaluateFile(t1.pro)------------------------------start
    392. DEBUG 0: evaluateing file E:/test/t1.pro
    393. ---------------------QMakeEvaluator::visitProFile(t1.pro,...LoadFlags=LoadPreFiles|LoadPostFiles)------start
    394. ---------------------evaluateCommand() (process command input early_State )------------------------start end
    395. ---------------------applyExtraConfigs()-------------------------------------------------------------start end
    396. ---------------------evaluateFeatureFile(default_pre.prf)------------------------------------------------start
    397. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/win32/default_pre.prf
    398. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/default_pre.prf
    399. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exclusive_builds.prf
    400. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exclusive_builds.prf
    401. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/toolchain.prf
    402. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/common/msvc-version.conf
    403. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/common/msvc-version.conf
    404. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/toolchain.prf
    405. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/default_pre.prf
    406. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/win32/default_pre.prf
    407. ---------------------evaluateFeatureFile(default_pre.prf)-------------------------------------------------end
    408. ---------------------evaluateCommand() (process command input before_State)-------------------------start end
    409. ---------------------applyExtraConfigs()----------------------------------------------------------------start end
    410. ---------------------visitProBlock(t1.pro)-------------------------------------------------------------start
    411. ---------------------parse and evaluate codes in t1.pro, and evaluate includeing pri/pro/prf if any-------------start end
    412. Project MESSAGE:CONFIG = lex yacc debug exceptions depend_includepath testcase_targets import_plugins import_qpa_plugin windows file_copies qmake_use qt warn_on release link_prl flat debug_and_release debug_and_release_target precompile_header autogen_precompile_source embed_manifest_dll embed_manifest_exe shared release no_plugin_manifest win32 msvc copy_dir_files debug DebugBuild Debug build_pass c++11 win32-msvc2015 debug qml_debug debug DebugBuild Debug build_pass c++11 console
    413. ---------------------visitProBlock(t1.pro)-----------------------------end
    414. ---------------------evaluateCommand() (process command input after_State)--------------------------start end
    415. ---------------------applyExtraConfigs()--------------------------------------------------------------start end
    416. ---------------------evaluateFeatureFile(default_post.prf)----------------------------------------------start
    417. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/default_post.prf
    418. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/resolve_config.prf
    419. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/resolve_config.prf
    420. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exclusive_builds_post.prf
    421. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exclusive_builds_post.prf
    422. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/default_post.prf
    423. ---------------------evaluateFeatureFile(default_post.prf)--------------------------------------------end
    424. ---------------------evaluateCommand() (process command input late_State)--------------------------start end
    425. ---------------------evaluateConfigFeatures()(process CONFIG feature files,will make the file name,and find the file in the dir have been used in upper process)--------------------start
    426. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/build_pass.prf
    427. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/build_pass.prf
    428. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/win32/console.prf
    429. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/win32/console.prf
    430. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qml_debug.prf
    431. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qml_debug.prf
    432. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/precompile_header.prf
    433. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/precompile_header.prf
    434. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/warn_on.prf
    435. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/warn_on.prf
    436. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qt.prf
    437. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qt.prf
    438. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/resources.prf
    439. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/resources.prf
    440. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/moc.prf
    441. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/moc.prf
    442. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/win32/opengl.prf
    443. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/win32/opengl.prf
    444. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/uic.prf
    445. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/uic.prf
    446. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qmake_use.prf
    447. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qmake_use.prf
    448. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/file_copies.prf
    449. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/file_copies.prf
    450. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/testcase_targets.prf
    451. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/testcase_targets.prf
    452. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exceptions.prf
    453. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exceptions.prf
    454. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/yacc.prf
    455. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/yacc.prf
    456. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/lex.prf
    457. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/lex.prf
    458. ---------------------evaluateConfigFeatures()--------------------end
    459. DEBUG 0: done evaluateing file E:/test/t1.pro
    460. ---------------------QMakeEvaluator::visitProFile(t1.pro,...LoadFlags=LoadPreFiles|LoadPostFiles)------end
    461. ---------------------QMakeEvaluator::evaluateFile(t1.pro,...LoadFlags=LoadPreFiles|LoadPostFiles)------end
    462. ---------------------QMakeProject::read()------------------------------------------end
    463. ---------------------MetaMakefileGenerator::createMakefileGenerator(QMakeProject *proj, bool noIO)------start
    464. ---------------------NmakeMakefileGenerator::NmakeMakefileGenerator()-----------------------------start end
    465. ---------------------MakefileGenerator::setProjectFile()--------------------------------------start
    466. ---------------------NmakeMakefileGenerator::init()-------------------------------------------start
    467. ---------------------MakefileGenerator::init()------------------------------------------------start end
    468. ---------------------NmakeMakefileGenerator::init()-------------------------------------------end
    469. ---------------------Win32MakefileGenerator::findLibraries()----------------------------------start
    470. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/lib/Qt5Widgetsd.prl
    471. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/lib/Qt5Widgetsd.prl
    472. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/lib/Qt5Guid.prl
    473. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/lib/Qt5Guid.prl
    474. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/lib/Qt5Networkd.prl
    475. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/lib/Qt5Networkd.prl
    476. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/lib/Qt5Cored.prl
    477. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/lib/Qt5Cored.prl
    478. ---------------------Win32MakefileGenerator::findLibraries()----------------------------------end
    479. ---------------------MakefileGenerator::setProjectFile()--------------------------------------end
    480. ---------------------MetaMakefileGenerator::createMakefileGenerator(QMakeProject *proj, bool noIO)------end
    481. ---------------------BuildsMetaMakefileGenerator::processBuild(debug)----------------end
    482. ---------------------BuildsMetaMakefileGenerator::processBuild(release)----------------start
    483. ---------------------QMakeProject::read()------------------------------------------start
    484. ---------------------QMakeEvaluator::evaluateFile(t1.pro)------------------------------start
    485. DEBUG 0: evaluateing file E:/test/t1.pro
    486. ---------------------QMakeEvaluator::visitProFile(t1.pro,...LoadFlags=LoadPreFiles|LoadPostFiles)------start
    487. ---------------------evaluateCommand() (process command input early_State )-------------- start end
    488. ---------------------applyExtraConfigs()-------------------------------------------start end
    489. ---------------------evaluateFeatureFile(default_pre.prf)--------------------------start
    490. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/win32/default_pre.prf
    491. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/default_pre.prf
    492. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exclusive_builds.prf
    493. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exclusive_builds.prf
    494. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/toolchain.prf
    495. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/common/msvc-version.conf
    496. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/common/msvc-version.conf
    497. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/toolchain.prf
    498. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/default_pre.prf
    499. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/win32/default_pre.prf
    500. ---------------------evaluateFeatureFile(default_pre.prf)-------------------------------end
    501. ---------------------evaluateCommand() (process command input before_State)--------------start end
    502. ---------------------applyExtraConfigs()--------------start end
    503. ---------------------visitProBlock(t1.pro)-----------------------------start
    504. Project MESSAGE: lex yacc debug exceptions depend_includepath testcase_targets import_plugins import_qpa_plugin windows file_copies qmake_use qt warn_on release link_prl flat debug_and_release debug_and_release_target precompile_header autogen_precompile_source embed_manifest_dll embed_manifest_exe shared release no_plugin_manifest win32 msvc copy_dir_files release ReleaseBuild Release build_pass c++11 win32-msvc2015 debug qml_debug release ReleaseBuild Release build_pass c++11 console
    505. ---------------------visitProBlock(t1.pro)-----------------------------end
    506. ---------------------evaluateCommand() (process command input after_State)--------------start end
    507. ---------------------applyExtraConfigs()----------------------------------------------------start end
    508. ---------------------evaluateFeatureFile(default_post.prf)-------start
    509. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/default_post.prf
    510. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/resolve_config.prf
    511. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/resolve_config.prf
    512. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exclusive_builds_post.prf
    513. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exclusive_builds_post.prf
    514. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/default_post.prf
    515. ---------------------evaluateFeatureFile(default_post.prf)-------end
    516. ---------------------evaluateCommand() (process command input late_State)-------------- start end
    517. ---------------------evaluateConfigFeatures()(process CONFIG feature files,will make the file name,and find the file in the dir have been used in upper process)--------------------start
    518. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/build_pass.prf
    519. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/build_pass.prf
    520. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/win32/console.prf
    521. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/win32/console.prf
    522. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qml_debug.prf
    523. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qml_debug.prf
    524. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/precompile_header.prf
    525. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/precompile_header.prf
    526. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/warn_on.prf
    527. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/warn_on.prf
    528. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qt.prf
    529. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qt.prf
    530. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/resources.prf
    531. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/resources.prf
    532. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/moc.prf
    533. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/moc.prf
    534. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/win32/opengl.prf
    535. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/win32/opengl.prf
    536. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/uic.prf
    537. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/uic.prf
    538. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qmake_use.prf
    539. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/qmake_use.prf
    540. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/file_copies.prf
    541. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/file_copies.prf
    542. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/testcase_targets.prf
    543. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/testcase_targets.prf
    544. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exceptions.prf
    545. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exceptions.prf
    546. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/yacc.prf
    547. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/yacc.prf
    548. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/lex.prf
    549. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/lex.prf
    550. ---------------------evaluateConfigFeatures()--------------------end
    551. DEBUG 0: done evaluateing file E:/test/t1.pro
    552. ---------------------QMakeEvaluator::visitProFile(t1.pro,...LoadFlags=LoadPreFiles|LoadPostFiles)------end
    553. ---------------------QMakeEvaluator::evaluateFile(t1.pro,...LoadFlags=LoadPreFiles|LoadPostFiles)------end
    554. ---------------------QMakeProject::read()------------------------------------------end
    555. ---------------------MetaMakefileGenerator::createMakefileGenerator(QMakeProject *proj, bool noIO)------start
    556. ---------------------NmakeMakefileGenerator::NmakeMakefileGenerator()-----------------------------start end
    557. ---------------------MakefileGenerator::setProjectFile()--------------------------------------start
    558. ---------------------NmakeMakefileGenerator::init()-------------------------------------------start
    559. ---------------------MakefileGenerator::init()------------------------------------------------start end
    560. ---------------------NmakeMakefileGenerator::init()-------------------------------------------end
    561. ---------------------Win32MakefileGenerator::findLibraries()----------------------------------start
    562. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/lib/Qt5Widgets.prl
    563. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/lib/Qt5Widgets.prl
    564. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/lib/Qt5Gui.prl
    565. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/lib/Qt5Gui.prl
    566. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/lib/Qt5Network.prl
    567. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/lib/Qt5Network.prl
    568. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/lib/Qt5Core.prl
    569. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/lib/Qt5Core.prl
    570. ---------------------Win32MakefileGenerator::findLibraries()----------------------------------end
    571. ---------------------MakefileGenerator::setProjectFile()--------------------------------------end
    572. ---------------------MetaMakefileGenerator::createMakefileGenerator(QMakeProject *proj, bool noIO)------end
    573. ---------------------BuildsMetaMakefileGenerator::processBuild(release)----------------end
    574. ---------------------BuildsMetaMakefileGenerator::init()------------------------end
    575. ---------------------MetaMakefileGenerator::createMetaGenerator()----------------------end
    576. ---------------------BuildsMetaMakefileGenerator::write()------将解析的内容写入makefile文件---start end
    577. ---------------------runQMake(int argc, char **argv)---------------------------------------------------end

    关于spec的值,参数中没有设置会进入环境变量中查找QMAKESPEC和XQMAKESPEC变量,环境变量中没找到会到属性中查找QMAKE_SPEC和QMAKE_XSPEC变量。
    如果缓存文件.qmake.conf .qmake.cache .qmake.stash中存在QMAKESPEC和XQMAEKSPEC,会使用缓存文件中的值。host_build指定创建QMAKE_SPEC的配置的工程 还是QMAKE_XSPEC的配置的工程,默认为false,指定后者。参考:qmake 参数 

    工程pro文件的解析所能从中获取变量名的配置文件,及通过命令行输入参数的作用时效(early、before、after、late)如下,(需要注意的是applyExtraConfigs设置的configs是由配置文件自动产生的,命令行设置的config在evaluatecommand的时候设置的):

    1. ---------------------QMakeEvaluator::evaluateFile(t1.pro)------------------------------start
    2. DEBUG 0: evaluateing file E:/test/t1.pro
    3. ---------------------QMakeEvaluator::visitProFile(t1.pro,...LoadFlags=LoadPreFiles|LoadPostFiles)------start
    4. ---------------------evaluateCommand() (process command input early_State )------------------------start end
    5. ---------------------applyExtraConfigs()-------------------------------------------------------------start end
    6. ---------------------evaluateFeatureFile(default_pre.prf)------------------------------------------------start
    7. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/win32/default_pre.prf
    8. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/default_pre.prf
    9. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exclusive_builds.prf
    10. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exclusive_builds.prf
    11. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/toolchain.prf
    12. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/common/msvc-version.conf
    13. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/common/msvc-version.conf
    14. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/toolchain.prf
    15. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/default_pre.prf
    16. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/win32/default_pre.prf
    17. ---------------------evaluateFeatureFile(default_pre.prf)-------------------------------------------------end
    18. ---------------------evaluateCommand() (process command input before_State)-------------------------start end
    19. ---------------------applyExtraConfigs()----------------------------------------------------------------start end
    20. ---------------------visitProBlock(t1.pro) 该函数解析t1.pro中的语句。如果有load或者include,则按照调用顺序进入到对应文件中去---start
    21. ---------------------parse and evaluate codes in t1.pro, and evaluate includeing pri/pro/prf if any-------------start end
    22. Project MESSAGE:CONFIG = lex yacc debug exceptions depend_includepath testcase_targets import_plugins import_qpa_plugin windows file_copies qmake_use qt warn_on release link_prl flat debug_and_release debug_and_release_target precompile_header autogen_precompile_source embed_manifest_dll embed_manifest_exe shared release no_plugin_manifest win32 msvc copy_dir_files debug DebugBuild Debug build_pass c++11 win32-msvc2015 debug qml_debug debug DebugBuild Debug build_pass c++11 console
    23. ---------------------visitProBlock(t1.pro)-----------------------------end
    24. ---------------------evaluateCommand() (process command input after_State)--------------------------start end
    25. ---------------------applyExtraConfigs()--------------------------------------------------------------start end
    26. ---------------------evaluateFeatureFile(default_post.prf)----------------------------------------------start
    27. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/default_post.prf
    28. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/resolve_config.prf
    29. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/resolve_config.prf
    30. DEBUG 0: evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exclusive_builds_post.prf
    31. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/exclusive_builds_post.prf
    32. DEBUG 0: done evaluateing file D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/default_post.prf
    33. ---------------------evaluateFeatureFile(default_post.prf)--------------------------------------------end
    34. ---------------------evaluateCommand() (process command input late_State)--------------------------start end

    qmake解析调用的单个qt模块Qt5Widgets的配置文件D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/lib/Qt5Widgetsd.prl的堆栈

     D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/lib/Qt5Widgetsd.prl文件内容

    1. QMAKE_PRO_INPUT = widgets.pro
    2. QMAKE_PRL_TARGET = Qt5Widgetsd.lib
    3. QMAKE_PRL_CONFIG = lex yacc debug depend_includepath testcase_targets import_plugins import_qpa_plugin windows qt_build_extra file_copies qmake_use qt warn_on link_prl flat debug_and_release precompile_header autogen_precompile_source embed_manifest_dll embed_manifest_exe shared no_plugin_manifest win32 msvc copy_dir_files sse2 aesni sse3 ssse3 sse4_1 sse4_2 avx avx2 compile_examples f16c force_debug_info largefile precompile_header rdrnd shani x86SimdAlways prefix_build force_independent utf8_source create_prl link_prl prepare_docs qt_docs_targets no_private_qt_headers_warning QTDIR_build qt_example_installs exceptions_off testcase_exceptions warning_clean debug DebugBuild Debug build_pass c++11 win32-msvc2015 uic qt_tracepoints generated_privates relative_qt_rpath git_build qmake_cache target_qt c++11 strict_c++ qt_install_headers need_fwd_pri qt_install_module debug_and_release build_all create_cmake skip_target_version_ext debug DebugBuild Debug build_pass have_target dll no_plist exclusive_builds debug_info no_autoqmake thread opengl moc resources
    4. QMAKE_PRL_VERSION = 5.12.0

    qmake 将解析内容写入makefile时会调用到moc.prf中的函数,发生在write过程中,参考:qtcreator编译qt程序是如何调用moc的,如何通过pro文件向moc传入参数 
    qmake 脚本 常用变量

    qmake language 关键字 true false host_build option return next break ever forever  
    qmake对一个简单的pro文件(t.pro)的解析日志_丘上人的博客-CSDN博客

  • 相关阅读:
    浙江环保用电计量adw300-hj治污产污生产设备监测
    Sparse编码和字典学习(1)基础知识和python简单实现
    session伪造
    GPU架构与计算入门指南
    基于SpringBoot的企业部门与员工管理系统,毕设、课设资源包,附送项目源码和数据库脚本
    Idea Debug断点太多 启动太慢
    校园食堂明厨亮灶智能视频监控
    AIGC Excel办公应用实现行与列交叉多条件求和
    Java中实现线程等待和唤醒总结
    如何快速给pdf加水印?
  • 原文地址:https://blog.csdn.net/qiushangren/article/details/127983608