qt .pro文件 qmake编译过程 |
您所在的位置:网站首页 › qt没有pro文件 › qt .pro文件 qmake编译过程 |
#:注释一行 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 |