Qt 批量编译工程

这篇博客介绍了一种解决Qt工程批量编译的方法。作者通过创建一个批处理文件,利用qmake生成makefile,然后使用jom或nmake进行编译。程序根据配置文件自动编译指定路径下的多个Qt工程,大大提高了工作效率。适用于需要频繁更新和编译多个Qt项目的开发者。
摘要由CSDN通过智能技术生成

问题描述
随着Qt工程越来越多,目前已经有90多个工程了,有些源文件是公共的,修改一处就需要编译所有工程。试了Qt的子项目管理,发现能将所有工程全部添加到一个pro文件中,但没法一键全部编译,还得右键一个一个的编译。所以,就想写一个小的程序来实现批量的编译。

解决方案
基本思路就是先调用qmake编译pro文件生成makefile文件,然后调用nmake编译程序。小程序的作用就是生成一个批处理文件,然后编译的时候,直接执行批处理文件就行了。

[General]
qmake=D:/Qt/Qt5.5.1/5.5/msvc2010/bin/qmake.exe
nmake=D:/Program Files (x86)/Microsoft Visual Studio 10.0/VC/vcvarsall.bat
jom=D:/Qt/Qt5.5.1/Tools/QtCreator/bin/jom.exe
project_dir=D:/svn/CRX100S/Src
project=BP2A-DfdtA-diffA

其中qmake、jom、nmake填写自己程序的安装路径,本文用的MSVC2010编译器,找到bat批处理文件;project_dir为源码路径,下面包含很多工程;project为工程列表,工程名称之间用“-”隔开。

编译程序读取配置信息,生成编译的compile.bat文件,运行bat文件即可批量编译。

set /a startS=%time:~6,2%
set /a startM=%time:~3,2%
echo %time%

cd D:/Program Files (x86)/Microsoft Visual Studio 10.0/VC
call vcvarsall.bat

cd D:/svn/CRX100S/Src/build/BP2A
D:/Qt/Qt5.5.1/5.5/msvc2010/bin/qmake D:/svn/CRX100S/Src/BP2A/BP2A.pro
D:/Qt/Qt5.5.1/Tools/QtCreator/bin/jom.exe -j 4

cd D:/svn/CRX100S/Src/build/DfdtA
D:/Qt/Qt5.5.1/5.5/msvc2010/bin/qmake D:/svn/CRX100S/Src/DfdtA/DfdtA.pro
D:/Qt/Qt5.5.1/Tools/QtCreator/bin/jom.exe -j 4

cd D:/svn/CRX100S/Src/build/diffA
D:/Qt/Qt5.5.1/5.5/msvc2010/bin/qmake D:/svn/CRX100S/Src/diffA/diffA.pro
D:/Qt/Qt5.5.1/Tools/QtCreator/bin/jom.exe -j 4

set /a endS=%time:~6,2%
set /a endM=%time:~3,2%
echo %time%
set /a diffS_=%endS%-%startS%
set /a diffM_=%endM%-%startM%
echo cost:%diffM_% : %diffS_% 
pause 

源码见资源文件Compile.rar源码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值