Qt辅助脚本工具syncqt
2011-11-27 23:09
309 查看
距离Qt在Windows下编译时
configure 问题一则已经过了半年了,重新看看syncqt相关的内容。
安装好Qt后,我们会有
bin\
src\
lib\
include\
...
可是,如果下载Qt源码的话,里面并没有include这个目录
那么,它是怎么来的:
include目录中的东西是由syncqt这个perl脚本生成的,这是是syncqt主要的功能吧。
运行
可看到用法及其参数介绍
下载源码,编译Qt的第一步是: configure
posix下是 shell脚本 configure
windows下是可执行程序 configure.exe
sync 这个脚本就是被configure所调用了。似乎不值得惊奇,编译时调用一次似乎也足够了
伴随着模块化,Qt分拆成几个子仓库,每个里面都有一个
一直以来不清楚这里面用的是一种什么语法,弄了半天原来也是Perl,是由 syncqt 调用的。
用来控制该仓库内的各个模块的头文件如何同步到include目录中
syncqt方式调用也发生了变化,除了在configure的时候被调用外,当源码更新后,执行make的时候,也会发现它被调用。
刚开始以为是Makefile中有直接的规则,后来发现没有
原来是qmake是执行时被调用的,(当pro/pri/prf变化时,make调用了qmake),详见文件
关键代码:
该文件内定义了
除此外,还有一些
configure 问题一则已经过了半年了,重新看看syncqt相关的内容。
include目录
安装好Qt后,我们会有bin\
src\
lib\
include\
...
可是,如果下载Qt源码的话,里面并没有include这个目录
那么,它是怎么来的:
syncqt
include目录中的东西是由syncqt这个perl脚本生成的,这是是syncqt主要的功能吧。运行
./bin/syncqt -help
可看到用法及其参数介绍
./bin/syncqt usage: <module directory> Specifies which module to sync header files for (required for shadow builds!) -copy Copy headers instead of include-fwd(default: no) ...
如何调用
下载源码,编译Qt的第一步是: configureposix下是 shell脚本 configure
windows下是可执行程序 configure.exe
sync 这个脚本就是被configure所调用了。似乎不值得惊奇,编译时调用一次似乎也足够了
Qt5的变化
伴随着模块化,Qt分拆成几个子仓库,每个里面都有一个sync.profile
一直以来不清楚这里面用的是一种什么语法,弄了半天原来也是Perl,是由 syncqt 调用的。
用来控制该仓库内的各个模块的头文件如何同步到include目录中
syncqt方式调用也发生了变化,除了在configure的时候被调用外,当源码更新后,执行make的时候,也会发现它被调用。
刚开始以为是Makefile中有直接的规则,后来发现没有
原来是qmake是执行时被调用的,(当pro/pri/prf变化时,make调用了qmake),详见文件
mkspecs/features/default_pre.prf
关键代码:
!build_pass:exists($$_PRO_FILE_PWD_/sync.profile) { qtPrepareTool(QMAKE_SYNCQT, syncqt) $$QMAKE_SYNCQT $$QTFWD -generator $$MAKEFILE_GENERATOR -outdir $$QMAKE_SYNCQT_OUTDIR $$_PRO_FILE_PWD_) }
sync.profile
该文件内定义了%modules | "QtGui" => "$basedir/src/gui" 键和值:模块和模块路径 $basedir由sync.profile所在目录确定 |
%moduleheaders | 去哪个目录下找头文件,默认是前面的模块路径(及其子目录) |
@allmoduleheadersprivate | 一般,*_p.h是私有头文件,但是对某些模块,比如V8,所有头文件都是私有的 |
%classnames | "qdebug.h" => "QtDebug" 一般从公有头文件中提取类名,创建不包含.h后缀的头文件。但有时,我们需要QtDebug这样的头文件,尽管不对应任何类。 |
%mastercontent | "core"=>"#include <QtCore/QtCore>\n" |
%modulepris | "QtCore"=>"$basedir/src/modules/qt_core.pri" |
%explicitheaders | "qtbase" => "refs/heads/master" |
@ignore_for_*
相关文章推荐
- 辅助计算工具中hash部分界面脚本
- 不需要用任何辅助工具打包Qt应用程序
- Zope开发辅助脚本工具ZopeSkel安装
- 翻出来的老物件,11年学习易语言之后写的一个游戏策划脚本辅助工具
- 刚发布了一个“IE脚本辅助”工具。
- Snooper taoism辅助计算工具中base64界面脚本
- taoism 2中sm3辅助计算工具脚本
- Qt开发辅助工具——QSS Editor,编写qss实时预览
- 航海泡泡-大航海时代DOL游戏辅助工具-有全自动近港会计造船后台脚本
- 不需要用任何辅助工具打包Qt应用程序
- 自己写的一个sqlserver弱口令扫描工具辅助脚本(提升扫描速度效率,速度极快)
- 演示一下,我写的usb键盘鼠标辅助工具,如何写脚本
- 刚发布了一个“IE脚本辅助”工具。
- Tahoe Design HYDROFLO v3.0.0.4管道系统辅助工具
- linux shell + expect:批量scp脚本工具
- SharePoint2007列表辅助小工具
- 爬虫、网页分析解析辅助工具 Xpath-helper
- SharePoint 2010开发工具图解系列:PowerShell脚本
- 【Unity资源】(脚本/实用工具)
- linux Qt程序打包(linuxdeployqt工具的使用)