[分享]windows系统mingw编译qt自动化批处理脚本

hemiya 2012-03-29 08:06:02
前期准备工作下载mingw和perl,修改 set path=R:\mingw32\bin;R:\Perl\bin 这一行改为你自己mingw和perl的路径,把下面的脚本存为bat文件或直接下载下面的qt-自动编译,放到qt源代码目录下即可,例如:R:\qt-everywhere-opensource-src-4.8.1,改完路径后,运行即可

下载perl
下载mingw
下载mingw64和mingw32
下载qt-自动编译.7z bat文件


@echo off
set path=R:\mingw32\bin;R:\Perl\bin;
set QTDIR=%cd%
title 编译QT - cnhemiya@gmail.com

echo -- 配置 --
pause
configure -platform win32-g++ -opensource -debug-and-release -qt-style-windowsxp -qt-style-windowsvista -no-style-plastique -no-style-cleanlooks -no-style-motif -no-style-cde -no-qt3support -no-script -no-scripttools -no-webkit -nomake examples -nomake demos

echo -- 编译 --
time /t
pause
jom -f Makefile

echo -- 编译结束,开始清理无用的文件 --
time /t
pause

rd /s /q include
cd bin
perl.exe -S syncqt

echo -- strip --
cd ../lib
for /f "delims=" %%i in ('dir /b /a-d /s "*d4.dll"') do strip %%i

cd ../imports
for /f "delims=" %%i in ('dir /b /a-d /s "*d4.dll"') do strip %%i

cd ../plugins
for /f "delims=" %%i in ('dir /b /a-d /s "*d4.dll"') do strip %%i

echo -- 删除bin目录下的debug dll和bat --
cd ..
cd bin
del /q *d4.dll
del /q createpackage
del /q createpackage.bat
del /q createpackage.pl
del /q elf2e32_qtwrapper
del /q elf2e32_qtwrapper.bat
del /q elf2e32_qtwrapper.pl
del /q patch_capabilities
del /q patch_capabilities.bat
del /q patch_capabilities.pl
del /q syncqt
del /q syncqt.bat
del /q findtr
del /q setcepaths.bat

echo -- 删除translations的ts --
cd ..
cd translations
del /q *.ts
del /q check-ts.pl
del /q check-ts.xq
del /q polish.qph
del /q README

echo -- 删除目录,pri,pro文件 --
cd ..
rd /s /q src
rd /s /q config.profiles
rd /s /q config.tests
rd /s /q demos
rd /s /q doc
rd /s /q examples
rd /s /q qmake
rd /s /q templates
rd /s /q tools
rd /s /q util
del /s /q *.pri
del /s /q *.pro
del /q *LICENSE*

echo -- 结束 --
time /t
pause
...全文
440 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
facat 2012-03-30
  • 打赏
  • 举报
回复
我在用tdm-gcc4.6编译qt4.8.1,居然在mingw32-make install的时候出错了。
顺便问一下,编译64位的qt用win32-g++这个配置也行?
hemiya 2012-03-30
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

mingw32-make[1]: Leaving directory `D:/Lib/qt-everywhere-opensource-src-4.8.1/sr
c/tools/uic'
cd src\winmain\ && mingw32-make -f Makefile install
mingw32-make[1]: Entering directory `D:/Li……
[/Quote]
install这个命令在linux下又用,windows下缺少配置步骤。
或者用mingw带的msys下编译才会用到install
FounderSG 2012-03-30
  • 打赏
  • 举报
回复
这个不错,学习了。
facat 2012-03-30
  • 打赏
  • 举报
回复
mingw32-make[1]: Leaving directory `D:/Lib/qt-everywhere-opensource-src-4.8.1/sr
c/tools/uic'
cd src\winmain\ && mingw32-make -f Makefile install
mingw32-make[1]: Entering directory `D:/Lib/qt-everywhere-opensource-src-4.8.1/s
rc/winmain'
mingw32-make -f Makefile.Debug install
mingw32-make[2]: Entering directory `D:/Lib/qt-everywhere-opensource-src-4.8.1/s
rc/winmain'
copy /y "..\..\lib\qtmaind.prl" "c:\QtLib\lib\qtmaind.prl"
已复制 1 个文件。
命令语法不正确。
mingw32-make[2]: *** [install_target] Error 1
mingw32-make[2]: Leaving directory `D:/Lib/qt-everywhere-opensource-src-4.8.1/sr
c/winmain'
mingw32-make[1]: *** [debug-install] Error 2
mingw32-make[1]: Leaving directory `D:/Lib/qt-everywhere-opensource-src-4.8.1/sr
c/winmain'
mingw32-make: *** [sub-winmain-install_subtargets-ordered] Error 2

D:\Lib\qt-everywhere-opensource-src-4.8.1>

请问一下,我install的时候出现了命令语法不正确的提示,是不是要修改一下什么地方才能install啊?
hemiya 2012-03-30
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

我在用tdm-gcc4.6编译qt4.8.1,居然在mingw32-make install的时候出错了。
顺便问一下,编译64位的qt用win32-g++这个配置也行?
[/Quote]

编译64位的qt用win32-g++这个配置也行?
可以。
hemiya 2012-03-29
  • 打赏
  • 举报
回复

16,240

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧