在win7-64bit msvc2010上构建Qt 5.4.0并且每次都失败

时间:2014-12-18 07:17:57

标签: c++ visual-studio-2010 qt

我下载qt-everywhere-opensource-src-5.4.0.zip和jom_1_0_14.zip 并从Qt网站安装ActivePerl,python2.7.9,ruby 2.1.5 也下载icu并解压缩到c:\ icu

我正在尝试按照命令

构建Qt 5.4.0
c:\Qt\5.4.0>configure -prefix %CD%\qtbase -debug-and-release -icu -I c:\icu\include -L c:\icu\lib64 -opensource -platform win32-msvc2010

每次都失败

这是一些错误消息

c:\qt\5.4.0\qtbase\src\corelib\tools\qcollator_p.h(52) : fatal error C1083: Cannot open include file: 'unicode/ucol.h': No such file or directory
c:\qt\5.4.0\qtbase\src\corelib\tools\qtimezoneprivate_p.h(53) : fatal error C1083: Cannot open include file: 'unicode/ucal.h': No such file or directory
tools\qlocale_icu.cpp(40) : fatal error C1083: Cannot open include file: 'unicode/uloc.h': No such file or directory
c:\qt\5.4.0\qtbase\src\corelib\tools\qcollator_p.h(52) : fatal error C1083: Cannot open include file: 'unicode/ucol.h': No such file or directory
jom: C:\Qt\5.4.0\qtbase\src\corelib\Makefile.Debug [.obj\debug\qtextboundaryfinder.obj] Error 2

jom: C:\Qt\5.4.0\qtbase\src\corelib\Makefile [debug-all] Error 2
jom: C:\Qt\5.4.0\qtbase\src\Makefile [sub-corelib-make_first] Error 2
jom: C:\Qt\5.4.0\qtbase\Makefile [sub-src-make_first] Error 2
jom: C:\Qt\5.4.0\Makefile [module-qtbase-make_first] Error 2

我知道窗口sdk 7.1有一些错误,可能会导致这种情况,所以我按照以下步骤进行操作

  1. 卸载visual studio 2010 x86 / x64 redistribute
  2. 安装窗口sdk v7.1
  3. 安装visual studio 2010 x86 / x64 redistribute
  4. 修复visual studio 2010 sp1
  5. 然后使用“visual studio x64 win64命令提示符”来使用这些命令

    c:\Qt\5.4.0>configure -prefix %CD%\qtbase -debug-and-release -icu -I c:\icu\include -L c:\icu\lib64 -opensource -platform win32-msvc2010
    c:\Qt\jom\jom.exe -j 10
    

    我也下载qt-everywhere-opensource-src-5.1.0并遇到同样的问题,所以我认为必须有一些事情需要做,但是没有完成。 任何人都可以给我一些帮助或建议,谢谢!

2 个答案:

答案 0 :(得分:2)

Cannot open include file: 'unicode/ucol.h': No such file or directory    

这表明它无法找到ICU标题。

我建议首先确保ICU的路径包含目录是正确的。如果问题仍然存在,请尝试在没有ICU的情况下进行构建。

答案 1 :(得分:-1)

来自the Qt website

  

在Windows上,需要手动安装它们,并且包含"和   " LIB"必须将ICU安装的文件夹附加到INCLUDE   调用Windows SDK安装程序后的LIB和LIB环境变量   脚本。 " bin"应附加ICU安装的文件夹   到PATH环境变量,以便找到DLL   在运行时。