std::tr1 尚未声明

新手上路,请多包涵

我正在尝试第 n 次从源代码编译 qt,这次使用选项 configure -release -platform-win32 但我遇到了错误:

在此处输入图像描述

任何人都知道如何解决它?

谢谢。

原文由 smallB 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 549
1 个回答

当使用 MinGW 编译器(可能是任何 gcc 编译器)编译 Qt 时,您可能会遇到此问题,该编译器默认编译启用 C++11 标准的 C++ 程序。

第 3 方库 JavaScriptCore 尝试定义一些“规范化”的包装器 has_trivial_constructor 和相关模板,但显然它尚未更新以处理 GCC 的更新以合并完整的 C++11 标准。

修复方法是使用默认情况下不启用 C++11 功能的 MinGW 编译器,或者通过编辑 mkspecs\win32-g++\qmake.conf 添加 -std=gnu++98 选项来关闭它们:

 QMAKE_CXXFLAGS = $$QMAKE_CFLAGS -std=gnu++98
#                               ^^^^^^^^^^^^

原文由 Michael Burr 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题