qt .pro文件 qmake编译过程

您所在的位置:网站首页 qt没有pro文件 qt .pro文件 qmake编译过程

qt .pro文件 qmake编译过程

2023-03-14 11:13| 来源: 网络整理| 查看: 265

#:注释一行

QT:此项目中使用的Qt modules列表

CONFIG:此项目中使用的配置选项

TARGET:目标输出文件的名字

TEMPLATE:当生成二进制文件时项目的模版,例如app,lib

平台下使用

windows { SOURCES += SysInfoWindowsImpl.cpp HEADERS += SysInfoWindowsImpl.h } linux { } unix { } macx { }

嵌套使用

windows { SOURCES += SysInfoWindowsImpl.cpp HEADERS += SysInfoWindowsImpl.h debug { # 等价于if (windows && debug) SOURCES += DebugClass.cpp HEADERS += DebugClass.h } }

条件判断

windows|unix { SOURCES += SysInfoWindowsAndLinux.cpp } else:macx { SOURCES += SysInfoMacImpl.cpp } else { SOURCES += UltimateGenericSources.cpp } 操作符说明 =:给变量赋值+=:给变量列表添加值-=:给列表移除值*=:仅在该值不存在的情况下才添加到列表中~=:用指定的值替换符合正则表达式的任意值 函数

定义一个变量,并使用message()函数,此函数编译时会发出信息在编译输出框

COMPILE_MSG = "Compiling on" windows { # 编译框输出 Project MESSAGE: Compiling on windows message($$COMPILE_MSG windows) }

error(string):显示字符串并立即退出编译

exists(filename):测试是否存在filename

include(filename):将其它.pro文件添加进来

导出导入库 DEFINES += GALLERYCORE_LIBRARY:编译标志,让编译器知道何时应该导入或导出库的符号gallery-core_global.h:Qt提供的语法糖,用来减轻跨平台库的痛苦Q_DECL_EXPORT:我们正在编译library库Q_DECL_IMPORT:我们正在使用共享库编译你的应用程序GALLERYCORE_EXPORT宏使符号变为pubic可见 静态库:1)增加编译时间。每当库有任何修改,就要重新编译。2)更紧密的耦合。多个应用程序不能链接到此库,每一个都必须嵌入此静态库

LIBS:此变量是链接库到这个工程。-L提供路径,-l提供库名字

LIBS += -L -l

指示库头文件的位置

INCLUDEPATH += $$PWD/../gallery-core DEPENDPATH += $$PWD/../gallery-core

$$PWD:此变量表示当前.pro文件的绝对路径

$$OUT_PWD:此变量表示输出目录的绝对路径

depends:表示gallery-core必须在gallery-desktop之前编译built

gallery-desktop.depends = gallery-core qmake编译过程 蓝色方框是命令,波浪形方框是文件 在这里插入图片描述

1)【qmake】命令与.pro文件一起执行,在项目文件基础上生成一个Makefile文件

2)【make】命令调用其他命令来生成中间文件

3)【uic】命令全称User Interface Compiler。此命令会将所有的.ui文件生成相关的ui_*.h头文件以便能在自己对应的.cpp文件引用

4)【moc】命令接收每一个包含Q_OBJECT宏的类(与超类QObject配对),并生成中间moc_*.cpp文件,里面包含了信号槽工作所需的一切

5)【g++】命令被执行,将所有源文件和中间的moc文件编译成.o文件,最后链接成二进制可执行程序



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3