【问题标题】:Building Qt 5.4.0 on win7-64bit msvc2010 and failed everytime在 win7-64bit msvc2010 上构建 Qt 5.4.0 并且每次都失败
【发布时间】:2014-12-18 07:17:57
【问题描述】:

我下载了 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

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

  1. 卸载 Visual Studio 2010 x86/x64 重新分发
  2. 安装window sdk v7.1
  3. 安装 Visual Studio 2010 x86/x64 重新分发
  4. 修复visual studio 2010 sp1

然后使用“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 并且遇到了同样的问题,所以我认为肯定有一些事情需要做但没有做。 谁能给我一些帮助或建议,谢谢!

【问题讨论】:

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


    【解决方案1】:
    Cannot open include file: 'unicode/ucol.h': No such file or directory    
    

    这表明它找不到 ICU 标头。

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

    【讨论】:

    • 感谢您的回答! ucol.h 和 ucal.h 在 c:\icu\include 文档中,我在包含路径中添加了“c:\icu\include”,所以我不知道为什么它找不到这些标题。我需要使用一些基于 icu 的库,但我会尝试在没有 icu 的情况下构建。再次感谢!
    • 编译器期望“ucol.h”和“ucal.h”位于“C:\icu\include\unicode\ucol.h”和“C:\icu\include\unicode\ ucal.h”,而不是“C:\icu\include\ucol.h”和“C:\icu\include\ucol.h”,当您将“c:\icu\include”添加到包含路径时。
    【解决方案2】:

    来自the Qt website

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

    【讨论】:

      猜你喜欢
      • 2013-11-13
      • 2019-12-31
      • 1970-01-01
      • 1970-01-01
      • 2013-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多