2024年3月19日发(作者:)

第一次编译已经成功-webkit可用,SSL可用-开荒之旅,历尽艰辛.

第二次编译已经成功-webkit可用,SSL可用-旧事重提,高歌猛进.

建议参考第二次编译说明.

本机使用Qt官方的安装器,已经安装了msvc2010,msvc2013,msvc2013_64和Qt5.5.1源码.

本文在WIN7 x64下用MSVC2010x64动态编译Qt5.5.1源码.没有编译dbus,sql驱动只编译

了sqllite.因为dbus是linux下的,驱动是第三方库,没有安装,就无法编译.

源码根目录README有很多有用信息,Qt官方网页也有很多有用信息.

 前置工具:

Perl 5.8 or later

2.7 or later

没找到要求,我用的2.2.4

X SDK不然编译失败,提示和ANGLE有关,大意是要DX SDK才能把把opengl映射到A

NGLE,就算使用-opengl desktop也编译失败,不清楚为什么.DirectX SDK会自己设置一个环

境变量DXSDK_源码自带angle源码,不用去下载,也不用单独编译.

5.C++ compiler supporting the C++98 standard

前四个工具安装后,会自动配置环境变量,也必须有,否则就得在cmd中再配置.ActivePerl在p

ath中必须位于msysgit的perl之前(如果有)

关于Windows SDK 7.1和Visual Studio 2010和Visual Studio 2010 SP1,官方是这么说的:

if you use this SDK with Visual Studio 2010, installing the SDK requires installing the foll

owing packages in this order.

注意有if,如果没安装SDK 7.1,不用鸟这部分内容.

 第三方库:

-采用动态编译,X64 Debug和Release都编译了,并且分开存贮.

-采用动态编译,X64 Debug和Release都编译了,并且分开存贮.

第三方库的编译,一定要按要求走到最后一步,编译出来最终是什么目录结构(即安装后),就是

什么目录结构,别改.

第三方库的编译,使用Debug版本和Release版本都可以,关键是lib和dll要对应.比如

要和相对应;要和.当然有的库编译出来的D/R名字一样,对于debug版本,它没

有在名字后面加后缀d.

第三方库的编译,没有必要编译两个配置,一个Release配置就够了,Qt官方就是这么干的,并且

官方用的动态编译.

 注意事项:

[注意]在第一次编译中,编译了ICU和SSL的X64的D和R两个版本(动态编译,所有测试用例

全部通过),但R版本的路径在前,目测QT编译过程中,直接用的R.所以第二次编译中,只提供了

R版本.

[注意]如果编译过程中出错,关掉CMD重来,在第一步之后执行,nmake distclean和nmake cl

ean.

[注意]此次编译设置的环境变量不会影响系统的环境变量,所设置的环境变量仅对当前cmd

有效.

 编译步骤:

1.打开Visual Studio x64 Win64 命令提示(2010).

因为要编译64位的Qt,所以用64位命令行.

切到源码根目录,设置环境变量,仅针对当前命令行有效.

注意release在前.

cd /d D:Qt5.5.15.5Src

echo %QtSrc%

echo %PATH%

echo %INCLUDE%

echo %LIB%

echo %QMAKESPEC%

echo %DXSDK_DIR%

第一次编译使用的环境变量

SET QtSrc=D:Qt5.5.15.5Src

SET PATH=D:Microsoft DirectX SDK (June 2010)Developer Runtimex64;%QtSrc%qtbasebi

n;%QtSrc%gnuwin32bin;D:icu55.1X64Releasebin64;D:icu55.1X64Debugbin64;D:ssl1.0.2f

X64Releasebin;D:ssl1.0.2fX64Debugbin;%PATH%

SET INCLUDE=D:Microsoft DirectX SDK (June 2010)Include;D:icu55.1X64include;D:ssl1.0.

2fX64include;%INCLUDE%

SET LIB=D:Microsoft DirectX SDK (June 2010)Lib;D:icu55.1X64Releaselib64;D:icu55.1X64

Debuglib64;D:ssl1.0.2fX64Releaselib;D:ssl1.0.2fX64Debuglib;%LIB%

SET QMAKESPEC=win32-msvc2010

第二次编译使用的环境变量

SET QtSrc=D:Qt5.5.15.5Src

SETPATH=%QtSrc%qtbasebin;%QtSrc%gnuwin32bin;D:icu55.1X64Releasebin64;D:ssl1.0.2

fX64Releasebin;%PATH%

SET INCLUDE=D:icu55.1X64include;D:ssl1.0.2fX64include;%INCLUDE%

SET LIB=D:icu55.1X64Releaselib64;D:ssl1.0.2fX64Releaselib;%LIB%

SET QMAKESPEC=win32-msvc2010

SETDXSDK_DIR=%DXSDK_DIR%