c++ - std::tr1 尚未声明

标签 c++ qt compilation

我第 n 次尝试从源代码编译 qt,这次使用选项 configure -release -platform-win32 但我收到错误:
enter image description here

有人知道怎么解决吗?
谢谢。

最佳答案

在使用 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 C++ 构建选项:

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

关于c++ - std::tr1 尚未声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10354371/

相关文章:

c++ - 为什么我的 dll 中的类型库损坏(注册返回 TYPE_E_CANTLOADLIBRARY)?

c++ - 如何使用Google Blink/Webkit渲染HTML代码

c++ - 如何捕获 websocket 连接错误

asp.net - 在托管网站的虚拟机上找不到指定的模块错误

c++ - 在OpenGL中绑定(bind)点的目的?

c++ - 将 std::set 保存在 std::list 中

c++ - 需要 QSortFilterProxyModel mapToSource 和 mapFromSource 帮助

python - QGraphicsScene 选中时改变对象

在 Windows 上用 C.vim 编译?

visual-studio - 仅使用 .net SDK 编译 Visual Studio 项目/解决方案(无需安装 VS)