QtSDK 安装好就有 MinGW 、 Qt Library 和 Qt Creator ,为什麼要重新编译?
因为打包好的 QtSDK for Windows ,里面放的是 MinGW 编译器 Qt Library for MinGW 用 Visual C++ 编译的 Qt Creator 这种奇怪组合。由於 Build Key 不同,造成使用者自行开发的 Qt Widget (MinGW) 无法在 Qt Designer (MSVC) 载入。解决方法有两种,第一种是安装 Visual C++ 编译器以及 Qt Library for MSVC ;第二种方式就是把 Qt Creator 重新用 MinGW 编译。总之就是要让整个开发环境都用相同的编译器。 前置作业: 安装 Qt Library ,假设目录为 C:QT 下载 Qt Creator 原始码,解压缩,假设目录为 C:QTCSRC 下载 Qt Library 原始码,解压缩,假设目录为 C:QTSRC 将 C:QTSRCsrccorelibkernel 目录下 qwineventnotifier_p.h 及 qwineventnotifier_p.cpp 复制到 C:QTincludeQtCoreprivate 目录 (如果没有这目录,建立一个) 建立空目录存放编译结果,假设目录为 C:BUILD 假设最后安装至 C:QTC 使用 MinGW 编译: 使用 Qt SDK > Desktop > Qt 4.7.3 for Desktop (MinGW) 进入命令列 cd C:BUILD qmake.exe C:QTCSRCqtcreator.pro -r -spec win32-g++ "CONFIG+=release" "QT_PRIVATE_HEADERS=C:/QTSRC/include" mingw32-make release mingw32-make install INSTALL_ROOT="C:QTC" 把 C:QT4.7.3mingwin 目录下所有 release mode 的 Qt DLL 复制到 C:QTCin 测试环境: Windows XP w/SP3 QtSDK 1.1.1 (w/Qt Library 4.7.3) Qt Library 4.7.3 Source Qt Creator 2.2 Source