【问题标题】:Error while building Qt 5.3构建 Qt 5.3 时出错
【发布时间】:2014-05-31 10:31:01
【问题描述】:

当我想在 Windows 上构建 Qt 5.3 时,它给了我一个错误:

mingw32-make[4]: Entering directory 'c:/qt-5.3.0/qtbase/src/corelib'
g++ -c -include .pch\release\qt_pch.h -pipe -fno-keep-inline-dllexport -O2 -std=
gnu++0x -fexceptions -mthreads -frtti -Wall -Wextra -DUNICODE -DQT_NO_USING_NAME
SPACE -DQT_BUILD_CORE_LIB -DQT_BUILDING_QT -D_CRT_SECURE_NO_WARNINGS -DQT_ASCII_
CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -
DQT_DISABLE_DEPRECATED_BEFORE=0x040800 -D_USE_MATH_DEFINES -DQT_USE_ICU -DQT_COR
E_LIB -DQT_NO_DEBUG -I. -I"..\..\include" -I"..\..\include\QtCore" -I"..\..\incl
ude\QtCore\5.3.0" -I"..\..\include\QtCore\5.3.0\QtCore" -I"tmp" -I"global" -I"..
\3rdparty\harfbuzz\src" -I"..\3rdparty\md5" -I"..\3rdparty\md4" -I"..\3rdparty\s
ha3" -I".moc\release" -I"C:\JPEGLIB\jpeg-build\include" -I"C:\qt-5.3.0\qtwebkit\
Source\WebCore\plugins" -I"C:\gnuwin32\include" -I"C:\icu\icu\dist\include" -I".
.\3rdparty\pcre" -I"..\..\mkspecs\win32-g++" -o .obj\release\qregularexpression.
o tools\qregularexpression.cpp
tools\qregularexpression.cpp: In function 'int convertToPcreOptions(QRegularExpr
ession::PatternOptions)':
tools\qregularexpression.cpp:778:20: error: 'PCRE_UCP' was not declared in this
scope
         options |= PCRE_UCP;
                    ^
tools\qregularexpression.cpp: At global scope:
tools\qregularexpression.cpp:831:5: error: 'pcre16' does not name a type
     pcre16 *compiledPattern;
     ^

之后有很多与PCRE相关的错误。

我发现 PCRE 库与 Perl 相关,但 Perl 已正确安装在我的 PC 上。

你有解决办法吗?

【问题讨论】:

  • 您可以添加您的config.status 文件吗? PCRE 与您安装在系统上的 Perl 无关。您是否在其他地方安装了 PCRE,即系统路径中是否有 pcre.h
  • 感谢您的回复。我在.\3rdparty\pcre 中找到了一个 pcre.h 文件,并且我还构建了 PCRE 库。所以我有 2 个 pcre.h 文件。
  • 我上传了 config.summary 文件:pastebin.com/afhA6Z5N。我找不到 config.status 文件。
  • 我发现了问题。 gnuwin32 文件夹中有一个旧的 (2006) pcre.h 文件。我删除了它并用我从 PCRE 源编译的那个替换它并且它可以工作。
  • 仅供参考,这与 Perl 无关。 PCRE 库是一个完全独立的项目,它试图模拟 Perl 的正则表达式功能以包含在其他语言/工具中。因此,您的 Perl 安装是否正常工作这一事实并不重要。

标签: c++ qt qt5 pcre qregularexpression


【解决方案1】:

您的安装一定有问题。争取全新安装。

安装了 pcre.h 后可以正常工作。我建议重新安装您的设置,因为即使您替换了您的杂散 pcre.h 文件,其他东西也可能会在某个时候爆炸。

【讨论】:

  • 此时Qt编译成功。以后有问题再看看。感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-08-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-17
  • 2020-08-25
  • 1970-01-01
相关资源
最近更新 更多