QT .PRO编写记录
来源:互联网 发布:信捷usb编程电缆和三菱 编辑:程序博客网 时间:2024/06/08 05:25
帮助文档
查看帮助文档直接在.pro
文件下按F1,或官方网站说明
构成元素
变量Variables:用于维护一个字符串列表,qmake依此配置相应信息比如
HEADERS
,SOURCES
,LIBS
,DEFINES
,所有的变量请看帮助文档,空格用于分隔字符串,如果字符串中包涵空格需要用双引号,eg:DEST = "Program Files"
Variable Contents CONFIG General project configuration options.注意如果是同一配置项的不同选择,以最后一个指定为最终选eg:CONFIG = debug,CONFIG += release,以release编译。 DESTDIR The directory in which the executable or binary file will be placed. FORMS A list of UI files to be processed by the user interface compiler (uic). HEADERS 工程build中使用到的头文件列表 QT 工程中使用到的qt模块列表,也可以理解就是使用了哪些qt库。 LIBS 第三方库列表。用来添加除了qt库之外的库。eg:LIBS += -L/usr/local/lib -lmath
-L路径(可以用INCLUDEPATH来指定),-l库名 RESOURCES 工程build中使用到的.qrc资源文件列表 SOURCES 工程build中使用到的源文件列表 TEMPLATE 指定编译输出的是app还是dll,或者plugin.这里提供的有app,lib,aux,subdirs,vcapp,vclib,vcsubdirs备注Comments
用#
号注释。函数和控制流程
- Built-in Functions:具体的函数看可查看
Replace Functions
和Test Functions
.使用请参看qmake Language
中的相应部分。 - Control Flow
- Built-in Functions:具体的函数看可查看
一些语法规则
操作符(operators)
- = : 赋值
- -= :移除
- += :附加
- *= :附加唯一值(即只有变量表中不存在该值才添加)
~= :替换
DEFINES ~= s/QT_[DT].+/QT
DEFINES
中任何以QT_D
或者QT_T
开始的字符都被替换为QT
$$ :提取变量内容。
EVERYTHING = $$SOURCES $$HEADERS message("The project contains the following files:") message($$EVERYTHING)
执行范围(scopes)
像if的语句块一样,当条件成立就执行scope里面的语句。注意
{
必须与条件在同一行。<condition> { <command or definition> ... }
条件可以使用
{}
嵌套,也可以使用:
省去书写{}的麻烦,单条执行可直接使用:
。如下:macx { CONFIG(debug, debug|release) { HEADERS += debugging.h } } macx:CONFIG(debug, debug|release) { HEADERS += debugging.h } win32:DEFINES += USE_MY_STUFF
上面中的
:
相当于AND条件,如果要实现或条件可以使用|
win32|macx { HEADERS += debugging.h }
CONFIG
表中中定义的变量,都可以直接拿来当做scopes语句的条件。eg:``` CONFIG += opengl opengl { TARGET = application-gl } else { TARGET = application }```
平台相关的条件变量有
win32
,macx
, 和unix
,以及Qt's mkspecs
目录下提供的各平台目录也可以当成scopes的条件变量来判断比如message($$QMAKESPEC) linux-g++ { message(Linux) }
提供的一些函数
include()
include(other.pro)
信息输出
message()
,error()
,后者会中止继续执行qmake文件是否存在函数
exists()
!exists( main.cpp ) { error( "No main.cpp file found" ) #执行完后退出 }
- 变量是否有value值判断
contains(variablename, value)
- 变量个数判断
count(variablename, number)
- 测试函数或变量名是否定义,与DEFINES无关
defined(name[, type])
CONFIG(config)
这个还可以当函数使用。测试变量表CONFIG中是否有某个变量
不同编译器下的条件判断
DEFINES += VBCALLmessage($$QMAKESPEC)win32-g++{ QMAKE_LFLAGS = -static-libgcc -static-libstdc++ #anzyelay add contains(DEFINES,VBCALL){ QMAKE_LFLAGS += -Wl,--subsystem,windows,--kill-at #VB must add message("add vb option") } message("g++ mingw")}win32-msvc2015{ contains(QMAKESPEC,D:/Qt/Qt5.8.0_x86/5.8/msvc2015/mkspecs/win32-msvc2015):{ message("x86 msvc2015") LIBS += -L$$PWD/'../../../Program Files (x86)/Microsoft Visual Studio 8/VC/PlatformSDK/Lib/' -lUser32 INCLUDEPATH += $$PWD/'../../../Program Files (x86)/Microsoft Visual Studio 8/VC/PlatformSDK/Lib' DEPENDPATH += $$PWD/'../../../Program Files (x86)/Microsoft Visual Studio 8/VC/PlatformSDK/Lib' } else{ LIBS += -L'C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x64/' -lUser32 INCLUDEPATH += 'C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x64' DEPENDPATH += 'C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x64' message("msvc2015 64") }}
0 0
- QT .PRO编写记录
- QT pro文件编写
- QT pro文件编写
- pro文件-Qt Pro文件编写相关
- qt中pro文件编写
- QT的pro文件编写
- QT中的pro文件的编写
- QT中的pro文件的编写
- QT中的pro文件的编写
- QT中的pro文件的编写
- QT中的pro文件的编写 .
- QT中的pro文件的编写
- QT中的pro文件的编写
- QT中的pro文件的编写
- QT中的pro文件的编写
- QT中的pro文件的编写
- QT中PRO文件写法的记录
- qt界面编写流程记录
- CSS布局相关(自用,非常乱七八糟的笔记)
- ASN.1探索 - 2 基础知识(3)
- CODE【VS】1553 互斥的数(hash表+map函数)
- Nagios_在不同平台下的安装
- MATLAB以MEX方式调用C/C++源代码(怎样写mex函数)
- QT .PRO编写记录
- Android Service完全解析,关于服务你所需知道的一切
- STM32:Keil MDK(uVision v4.10)开发环境搭建
- 解决Linux出现"Device eth0 does not seem to be present"问题
- CSS3新特性
- Android 获取蓝牙设备类型
- SuperMap iCloudManager for Docker 搭建流程
- Spring MVC 实现文件上传功能
- 分析 fastcgi_temp 错误以及 Nginx 的 Buffer 机制