qmake 脚本 常用变量
qmake的常用变量主要解说查看帮助手册Qt 5.12->qmake Manual->Variables 参考:qmake 与 配置文件_丘上人的博客-CSDN博客 E:\workspace\QtWork\qmake\library\qmakeevaluator.cpp:QMakeEvaluator::loadSpec() 单独解析.qmake.super,.qmake.conf,.qmake.cache,获取其中的XQMAKESPEC、QMAKESPEC、QMAKEPATH、QMAKEFEATURES这四个变量的值如果存在的话。解析后上下文立即消失,且对后续没有其他影响。 QMAKESPEC ,qmake采用的架构,根据配置qtcreator时所设置的编译器版本进行识别的 XQMAKESPEC ,目标架构 QMAKEPATH ,qmake 的绝对路径 QMAKEFEATURES ,qmake fetures的绝对路径,QtInstallDir\Qt5.12.0\5.12.0\msvc2015_64\mkspecs\features _QMAKE_SUPER_CACHE_ , .qmake.super的绝对路径 _QMAKE_CONF_ , .qmake.conf的绝对路径 _QMAKE_CACHE_ ,.qmake.cache的绝对路径 _QMAKE_STASH_ , .qmake.stash的绝对路径E:\workspace\QtWork\qmake\library\qmakeevaluator.cpp:QMakeEvaluator::loadDefaults() 下面是qmake内置的变量,存放在evaluator的m_option中, DIR_SEPARATOR default value in windows \\ default value in linux / DIRLIST_SEPARATOR default value in windows ; default value in linux : _DATE_ 初始化值QDateTime::currentDateTime().toString() QMAKE_QMAKE 初始化值qmake.exe绝对路径 QMAKE_ARGS 初始化值qmake 传入参数(工程构建步骤中qmake之后的参数) QMAKE_QTCONF 通过-qtconf参数指定的文件 下面是解析之前通过C++代码初始化的变量 QMAKE_HOST.cpu_count,qmake运行主机的cpu数量 QMAKE_HOST.os ,qmake运行主机的操作系统名字,可选值有windows,linux QMAKE_HOST.name ,qmake运行主机名字 QMAKE_HOST.version ,qmake运行主机的操作系统内核版本 QMAKE_HOST.version_string ,qmake运行主机的操作系统产品版本 QMAKE_HOST.arch ,qmake运行主机的架构,可选值有x86_64,x86,IA64,Unknown QMAKE_TARGET.arch ,目标架构(5.12.0只对windows有效)x86,x86_64(对于windows下配置vs编译器的qt,qmake会根据path中vs的bin下的架构名字进行解析)E:\workspace\QtWork\qmake\library\qmakeevaluator.cpp:QMakeEvaluator::evaluateFile() QMAKE_INTERNAL_INCLUDED_FILES 解析pro文件时背后所用到的配置文件列表,包括conf文件、prf文件、pri文件、prl文件等等脚本文件E:\workspace\QtWork\qmake\library\qmakeevaluator.cpp:QMakeEvaluator::evaluateFeatureFile() QMAKE_INTERNAL_INCLUDED_FEATURES ,解析pro文件时,背后所用到的features文件(.prf文件)E:\workspace\QtWork\qmake\library\qmakeevaluator.cpp:QMakeEvaluator::visitProFile() PWD :当前路径E:\workspace\QtWork\qmake\library\qmakeglobals.cpp:void QMakeGlobals::commitCommandLineArguments(),初始化参数的时候会用到 QMAKE_EXTRA_ARGS E:\workspace\QtWork\qmake\library\qmakeevaluator.cpp:QMakeEvaluator::setupProject() TARGET testEmpty _PRO_FILE_ E:/workspace/QtWork/testEmpty/testEmpty.pro _PRO_FILE_PWD_ E:/workspace/QtWork/testEmpty OUT_PWD E:/workspace/QtWork/build-testEmpty-Desktop_Qt_5_12_0_MSVC2015_64bitCONFIG = file_copies qmake_use qt warn_on release link_prl QT = core guiBuildsMetaMakefileGenerator::processBuild(const ProString &build) BUILD_PASS =[debug|release] BUILD_NAME =[debug|release]MetaMakefileGenerator::createMakefileGenerator(QMakeProject *proj, bool noIO) MAKEFILE_GENERATOR =[UNIX|MINGW|PROJECTBUILDER|XCODE|MSVC.NET|MSBUILD]Win32MakefileGenerator::findLibraries(bool linkPrl, bool mergeLflags) QMAKE_LIB_EXTENSIONS QMAKE_EXTENSION_STATICLIB LIBS LIBS_PRIVATE QMAKE_LIBS QMAKE_LIBS_PRIVATE QMAKE_CURRENT_PRL_LIBS "QMAKE_" + lib.toUpper() + "_VERSION_OVERRIDE"MakefileGenerator::processPrlFileCore(QString &origFile, const QStringRef &origName,const QString &fixedFile) QMAKE_CURRENT_PRL_LIBS QMAKE_PRL_LIBS PRL_EXPORT_DEFINES QMAKE_PRL_DEFINESprls QMAKE_PRO_INPUT QMAKE_PRL_TARGET QMAKE_PRL_CONFIG QMAKE_PRL_VERSIONWin32MakefileGenerator::processVars() PRL_TARGET QMAKE_ORIG_TARGET QMAKE_PROJECT_NAME MAKEFILE QMAKE_INCDIR QMAKE_LIBDIR QMAKE_INCDIR_POST QMAKE_LIBDIR_POST VERSION VER_MAJ VER_MIN TARGET_VERSION_EXT
#D:/Qt/Qt5.12.0/5.12.0/msvc2015_64/mkspecs/features/spec_pre.prf:
QMAKE_DIR_SEP = $$DIR_SEPARATOR
QMAKE_DIRLIST_SEP = $$DIRLIST_SEPARATOR
QMAKE_EXT_C = .c
QMAKE_EXT_CPP = .cpp .cc .cxx
QMAKE_EXT_OBJC = .m
QMAKE_EXT_OBJCXX = .mm
QMAKE_EXT_CPP_MOC = .moc
QMAKE_EXT_H = .h .hpp .hh .hxx
QMAKE_EXT_H_MOC = .cpp
QMAKE_EXT_JS = .js
QMAKE_EXT_LEX = .l
QMAKE_EXT_LIBTOOL = .la
QMAKE_EXT_PKGCONFIG = .pc
QMAKE_EXT_PRL = .prl
QMAKE_EXT_UI = .ui
QMAKE_EXT_YACC = .y
QMAKE_CPP_MOD_MOC =
QMAKE_H_MOD_MOC = moc_
QMAKE_MOD_LEX = _lex
QMAKE_MOD_YACC = _yacc
QMAKE_PATH_ENV = $$(PATH)
QMAKE_EXT_OBJ
QMAKE_EXT_RES
QMAKE_SH
equals(QMAKE_HOST.os, Windows) {QMAKE_EXT_OBJ = .objQMAKE_EXT_RES = .resQMAKE_SH =ensurePathEnv()for(dir, QMAKE_PATH_ENV) {exists($$dir/sh.exe) {QMAKE_SH = $$dir/sh.exebreak()}}
} else {QMAKE_EXT_CPP += .CQMAKE_EXT_H += .HQMAKE_EXT_OBJ = .oQMAKE_SH = sh
}
D:\Qt\Qt5.12.0\5.12.0\msvc2015_64\mkspecs\win32-msvc\qmake.conf
include(../common/msvc-desktop.conf)
QMAKE_CFLAGS +=
QMAKE_CXXFLAGS +=
load(qt_config)
#D:\Qt\Qt5.12.0\5.12.0\msvc2015_64\mkspecs\common\msvc-desktop.conf
MAKEFILE_GENERATOR = MSVC.NET
QMAKE_PLATFORM = win32
QMAKE_COMPILER = msvc
CONFIG += flat debug_and_release debug_and_release_target precompile_header autogen_precompile_source embed_manifest_dll embed_manifest_exe
# MSVC 2017 15.8+ fixed std::aligned_storage but compilation fails without
# _ENABLE_EXTENDED_ALIGNED_STORAGE flag since the fix breaks binary compatibility.
DEFINES += UNICODE _UNICODE WIN32 _ENABLE_EXTENDED_ALIGNED_STORAGE
QMAKE_COMPILER_DEFINES += _WIN32
contains(QMAKE_TARGET.arch, x86_64) {DEFINES += WIN64QMAKE_COMPILER_DEFINES += _WIN64
}QMAKE_CFLAGS_OPTIMIZE_DEBUG = -Od
QMAKE_CFLAGS_OPTIMIZE = -O2
QMAKE_CFLAGS_OPTIMIZE_SIZE = -O1QMAKE_CC = cl
QMAKE_LEX = flex
QMAKE_LEXFLAGS =
QMAKE_YACC = bison -y
QMAKE_YACCFLAGS = -d
QMAKE_CFLAGS = -nologo -Zc:wchar_t
QMAKE_CFLAGS_WARN_ON = -W3
QMAKE_CFLAGS_WARN_OFF = -W0
QMAKE_CFLAGS_RELEASE = $$QMAKE_CFLAGS_OPTIMIZE -MD
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_OPTIMIZE -Zi -MD
QMAKE_CFLAGS_DEBUG = -Zi -MDd
QMAKE_CFLAGS_YACC =
QMAKE_CFLAGS_LTCG = -GLcontains(QMAKE_TARGET.arch, x86_64) {# SSE2 is mandatory on 64-bit mode, so skip the option. It triggers:# cl : Command line warning D9002 : ignoring unknown option '-arch:SSE2'QMAKE_CFLAGS_SSE2 =
} else {QMAKE_CFLAGS_SSE2 = -arch:SSE2
}
QMAKE_CFLAGS_SSE3 = $$QMAKE_CFLAGS_SSE2
QMAKE_CFLAGS_SSSE3 = $$QMAKE_CFLAGS_SSE2
QMAKE_CFLAGS_SSE4_1 = $$QMAKE_CFLAGS_SSE2
QMAKE_CFLAGS_SSE4_2 = $$QMAKE_CFLAGS_SSE2
QMAKE_CFLAGS_AESNI = $$QMAKE_CFLAGS_SSE2
QMAKE_CFLAGS_SHANI = $$QMAKE_CFLAGS_SSE2QMAKE_CXX = $$QMAKE_CC
QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON -w34100 -w34189 -w44996
QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG
QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC
QMAKE_CXXFLAGS_LTCG = $$QMAKE_CFLAGS_LTCG
QMAKE_CXXFLAGS_STL_ON = -EHsc
QMAKE_CXXFLAGS_STL_OFF =
QMAKE_CXXFLAGS_RTTI_ON = -GR
QMAKE_CXXFLAGS_RTTI_OFF =
QMAKE_CXXFLAGS_EXCEPTIONS_ON = -EHsc
QMAKE_CXXFLAGS_EXCEPTIONS_OFF =QMAKE_INCDIR =QMAKE_RUN_CC = $(CC) -c $(CFLAGS) $(INCPATH) -Fo$obj $src
QMAKE_RUN_CC_IMP = $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $<
QMAKE_RUN_CC_IMP_BATCH = $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ @<<
QMAKE_RUN_CXX = $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$obj $src
QMAKE_RUN_CXX_IMP = $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $<
QMAKE_RUN_CXX_IMP_BATCH = $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ @<<QMAKE_LINK = link
QMAKE_LFLAGS = /NOLOGO /DYNAMICBASE /NXCOMPAT
QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO
QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO = /DEBUG /OPT:REF /INCREMENTAL:NO
QMAKE_LFLAGS_DEBUG = /DEBUG
QMAKE_LFLAGS_CONSOLE = /SUBSYSTEM:CONSOLE
QMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:WINDOWS
QMAKE_LFLAGS_EXE = \"/MANIFESTDEPENDENCY:type=\'win32\' name=\'Microsoft.Windows.Common-Controls\' version=\'6.0.0.0\' publicKeyToken=\'6595b64144ccf1df\' language=\'*\' processorArchitecture=\'*\'\"
QMAKE_LFLAGS_DLL = /DLL
QMAKE_LFLAGS_LTCG = /LTCG
QMAKE_PREFIX_SHLIB =
QMAKE_EXTENSION_SHLIB = dll
QMAKE_PREFIX_STATICLIB =
QMAKE_EXTENSION_STATICLIB = libQMAKE_LIBS =
QMAKE_LIBS_GUI = gdi32.lib comdlg32.lib oleaut32.lib imm32.lib winmm.lib ws2_32.lib ole32.lib uuid.lib user32.lib advapi32.lib
QMAKE_LIBS_NETWORK = ws2_32.lib
QMAKE_LIBS_OPENGL = glu32.lib opengl32.lib gdi32.lib user32.lib
QMAKE_LIBS_OPENGL_ES2 = gdi32.lib user32.lib
QMAKE_LIBS_OPENGL_ES2_DEBUG = gdi32.lib user32.lib
QMAKE_LIBS_COMPAT = advapi32.lib shell32.lib comdlg32.lib user32.lib gdi32.lib ws2_32.lib
QMAKE_LIBS_QT_ENTRY = -lqtmainQMAKE_IDL = midl /NOLOGO
QMAKE_LIB = lib /NOLOGO
QMAKE_RC = rc /NOLOGOVCPROJ_EXTENSION = .vcproj
VCSOLUTION_EXTENSION = .sln
VCPROJ_KEYWORD = Qt4VSv1.0
#D:\Qt\Qt5.12.0\5.12.0\msvc2015_64\mkspecs\common\angle.conf
LIBEGL_NAME = libEGL
LIBGLESV2_NAME = libGLESv2
LIBQTANGLE_NAME = QtANGLE
#D:\Qt\Qt5.12.0\5.12.0\msvc2015_64\mkspecs\common\windows-vulkan.conf
QMAKE_INCDIR_VULKAN = $$(VULKAN_SDK)\\include
QMAKE_LIBS_VULKAN =
#D:\Qt\Qt5.12.0\5.12.0\msvc2015_64\mkspecs\qconfig.pri
QT_ARCH = x86_64
QT_BUILDABI = x86_64-little_endian-lp64
QT.global.enabled_features = shared debug_and_release build_all c++11 thread future concurrent
QT.global.disabled_features = cross_compile framework rpath appstore-compliant c++14 c++1z c99 c11 pkg-config force_asserts separate_debug_info simulator_and_device static
QT_CONFIG += shared debug_and_release debug release build_all c++11 concurrent dbus no-pkg-config stl
CONFIG += shared release no_plugin_manifest
QT_VERSION = 5.12.0
QT_MAJOR_VERSION = 5
QT_MINOR_VERSION = 12
QT_PATCH_VERSION = 0
QT_MSVC_MAJOR_VERSION = 19
QT_MSVC_MINOR_VERSION = 0
QT_MSVC_PATCH_VERSION = 24215
QT_EDITION = OpenSource
QT_LICHECK =
QT_RELEASE_DATE = 2018-12-03
mkspecs/modules/qt_lib_{module}.pri
qmake 与 配置文件_丘上人的博客-CSDN博客
qmake 脚本 常用变量相关推荐
- cmake 常用变量和常用环境变量查表手册
cmake 常用变量和常用环境变量查表手册 一,cmake 变量引用的方式: 前面我们已经提到了,使用${}进行变量的引用.在 IF 等语句中,是直接使用变量名而不通过${}取值 二,cmake 自定 ...
- 【Tools】cmake 常用变量和常用环境变量查表手册---整理
原文链接:https://blog.csdn.net/gubenpeiyuan/article/details/8667279 一.cmake 变量引用的方式: 前面我们已经提到了,使用${}进行变量 ...
- cmake 常用变量和常用环境变量
一,cmake 变量引用的方式: 前面我们已经提到了,使用${}进行变量的引用.在 IF 等语句中,是直接使用变量名而不通过${}取值 二,cmake 自定义变量的方式: 主要有隐式定义和显式定义两种 ...
- shell脚本特殊变量与变量子串相关知识
一.shell脚本特殊变量 1.shell中常用特殊位置变量说明: $0 获取当前执行的shell脚本的文件名,如果执行脚本包含了路径,那么就包含了脚本路径 $n 获取当前执行的shell脚本的第n个 ...
- linux脚本基本命令大全,Shell脚本常用命令
Shell脚本常用命令 1 Shell中的特殊符号 1.1 $ 美元符号.用来表示变量的值.如变量NAME的值为Mike,则使用$NAME就可以得到" ...
- Java在c盘fld目录下的文件名_VBS脚本常用代码大全2011整理.docx
PAGE PAGE # / 38 VBS脚本常用经典代码收集于 2011年7月2日21:13:37整理 在网上查找资料的时候发现好多经典的 vbs 代码,收集起来也为了以后学 习. VBS播放音乐 D ...
- Windows BAT脚本常用指令解析
BAT脚本入门 一.概述 首先解决第一个问题,什么是BAT脚本? BAT脚本也叫批处理文本,批处理文件是无格式的文本文件,它包含一条或多条命令.它的文件扩展名为 .bat 或 .cmd.在命令提示下键 ...
- PSINS工具箱学习(一)下载安装初始化、SINS-GPS组合导航仿真、习惯约定与常用变量符号、数据导入转换、绘图显示
文章目录 一.前言 二.相关资源 三.下载安装初始化 1.下载PSINSyymmdd.rar工具箱文件 2.解压文件 3.初始化 4.启动工具箱导览 四.习惯约定与常用变量符号 1.PSINS全局变量 ...
- shell脚本常用语法大全
shell脚本常用语法大全 一.shell简介 二.shell常用命令 2.1echo 2.2printf 2.3test 三.shell变量 3.1变量命名规则 3.2赋值方式 3.3使用变量 3. ...
最新文章
- 汇编语言关于8086CPU多种寻址方式总结
- swift3.0之闭包
- 3dmax导出fbx时如何带贴图_houdini | 第一章 第三节 贴图与顶点动画
- mysql优化问题?_MYSQL优化问题
- win10安装pip
- linux驱动开发的经典书籍
- iptables 防火墙的基本使用
- 【ElasticSearch】Es 源码之 AliasValidator 源码解读
- dhcp 服务器发出了 dhcpnack 消息,跪求DHCP报文分析
- ios中获取各种文件的目录路径方法
- Python项目开发基础 -- with open (filename) as 读写文件
- cls_template.php on line 1067,ecshop php5.5兼容utf-8版本
- 51单片机c语言呼吸灯程序,给你的51单片机作品加个呼吸灯(程序)
- 2014中国十大管理实践-世界经理人网站
- 一个神奇的FLAC转MP3在线工具
- odb 使用指南(二)Hello World
- java 微信主动推送消息_java微信主动推送消息,java微信主动推送消息怎么实现?
- 入职美团定级P7,最新最全180道高级岗面试题及答案
- excel公式里用html,Excel公式中{}是什么意思?要如何用?
- 【优化求解】基于未来搜索算法FSA求解最优目标matlab代码
热门文章
- mysql 除去周末_MySQL TimeDiff排除周末
- 培训日常:牛鑫宇老师2022年9月23-24号讲授《22年税务新政解析与税务风险防范对》公开课现场分享
- 【入门】【递推】兔子问题
- 热乎乎的面经:Spring中Scheduled和Async两种调度方式有啥区别?
- 我在CSDN的736个日子——两年纪念日“随想”
- 经济学中的定量分析python_论定量分析在经济学研究中的应用
- 【SSL】SSL 证书级别
- android判断主线程_Android主线程和子线程区别详解
- 穷举法python例子_(Python)简单线性模型与穷举优化,穷举法
- 语文高数英语计算机,江苏专转本高数、英语、计算机、语文复习方法.docx