Win764+MinGW+openal+angle+webkit 动态+静态编译32位QT5.1.0
////Win764+MinGW动态+静态编译32位QT5.1.0// 2013.7.13备注:根据官方文档,编译的时候在cmd环境中sh.exe被发现,将导致编译错误,编译前检查git/msys等路径是否在环境变量中。2013.7.13备注:静态链接ICU库后,如果库名“ibsicudt.a前面没有lib这三个字符,需手动添加 一.系统需求1.MinGW(需要x32-4.8.0-release-win32-dwarf-rev2.7z/msys+7za+wget+svn+git+mercurial+cvs-rev13.7z这两个包)http://sourceforge.net/projects/mingwbuilds/files/?source=navbar2.Qt5.1.0源码包http://master.qt-project.org/official_releases/qt/5.1/5.1.0/single/qt-everywhere-opensource-src-5.1.0.zip3.Perl(5.12或更高版本)http://downloads.activestate.com/ActivePerl/releases/5.16.3.1603/ActivePerl-5.16.3.1603-MSWin32-x86-296746.msi4.Python(2.7.5版本,3.0以上版本会出错)http://www.python.org/ftp/python/2.7.5/python-2.7.5.msi5.Ruby http://files.rubyforge.vm.bytemark.co.uk/rubyinstaller/rubyinstaller-2.0.0-p195.exe6.ICUhttp://download.icu-project.org/files/icu4c/51.2/icu4c-51_2-src.zip7.OpenSSLhttp://www.openssl.org/source/openssl-1.0.1e.tar.gz8.ANGLEhttp://code.google.com/p/angleproject/http://download.microsoft.com/download/A/E/7/AE743F1F-632B-4809-87A9-AA1BB3458E31/DXSDK_Jun10.exe9.OpenALhttp://connect.creativelabs.com/openal/Downloads/openal-soft-1.13.tbz29.cmakehttp://www.cmake.org/cmake/resources/software.html10.Direct X SDKhttp://download.microsoft.com/download/A/E/7/AE743F1F-632B-4809-87A9-AA1BB3458E31/DXSDK_Jun10.exe 二.建立环境1.在任意分区建立MinGW-Build目录2.解压x32-4.8.0-release-win32-dwarf-rev2.7z到MinGW-Build\MinGW323.解压msys+7za+wget+svn+git+mercurial+cvs-rev13.7z到MinGW-Build\Msys3.修改MinGW-Builds\Msys\etc\fstab文件,添加如下三行文本: #Win32_Path Mount_Point ?:/MinGW-Build/MinGW32 /mingw c:/perl /perl4.安装Perl、Python、Rubya并设置系统环境变量例如:C:\Python27;C:\Ruby200\bin;C:\Perl\site\bin;C:\Perl\bin5.编译ICUa.解压icu源码到?:\LibsPath\icub.执行?:\MinGW-Builds\msys\msys.bat $cd /?/LibsPath/icu/source $./runConfigureICU MinGW --prefix=$PWD/../InstallPath --enable-static //同时编译动态和静态库 $make && make install && make clean6.编译OpenSSLa.复制源码压缩包到?:\LibsPath (这个源码包一定要用tar来解,不然有符号链接问题)b.执行?:\MinGW-Builds\msys\msys.bat $tar xvzf openssl-1.0.1c.tar.gz $cd openssl-1.0.1c $ ./Configure --prefix=$PWD/InstallPath no-idea no-mdc2 no-rc5 shared mingw $make depend && make && make install &&make clean7.编译OpenALa.使用cmake生成makefile文件b.进入?:\openal\build目录c.mingw32-make 9.修复一些编译错误a.qtbase\tests\auto\corelib\io\qprocess\testSpaceInName\testSpaceInName.pro文件 DESTDIR = "../test Space In Name" 改为 DESTDIR = "../testSpaceInName"b.test参数错误 qtquick1\tests\auto\declarative\qdeclarativemoduleplugin\qmldir_copier.pri qtquick1\tests\auto\declarative\qdeclarativemoduleplugin\pureQml\pureQml.pro qtquick1\tests\auto\declarative\qdeclarativemoduleplugin\pluginWithQmlFile\pluginWithQmlFile.pro qtquick1\tests\auto\declarative\qdeclarativemoduleplugin\pluginMixed\pluginMixed.pro 在这四个文件中的copy2build.commands = 这一行中$(MKDIR)前加 “||” (不加引号) c.angleqtbase\src\angle\src\libGLESv2\libGLESv2.pro 这个工程需要dxsdk中的fxc.exe生成一些头文件 注:但是我编译的时候没有生成不知道怎么回事,所以建了一个脚本下载地址:http://yunpan.cn/Qt5WFSqgpLjBx 8.建立mingw32-build-qt5.1.0.bat 下载地址:http://yunpan.cn/Qt5WFSqgpLjBx 三.开始编译Qt5.1.01.解压源码到?:\Qt5.1.02.执行mingw32-build-qt5.1.0.bat 4.mingw32-make -i -k 2>d:\5.1.0shared-build.err.log5.等吧,这是个漫长的过程。7.如有不足请跟帖指正,谢谢。 未解决问题:编译完成mingw32-make install时,无法安装pkgconfig文件 这个好像是qmake的问题,以qtbase\src\tools\bootstrap\Makefile.Debug为例11758行: "..\..\..\lib\pkgconfig\Qt5Bootstrap.pc" 这个应该是"../../../lib/pkgconfig/Qt5Bootstrap.pc"这样才对,导至无法安装pkgconfig,这个我手动复制的, 如果你们有解决办法,请告诉我。