尚未声明std :: tr1

sma*_*llB 7 c++ qt compilation

我正在尝试第n次从源代码编译qt,这一次使用选项configure -release -platform-win32,但出现错误:
在此处输入图片说明

有人知道如何解决吗?
谢谢。

Mic*_*urr 7

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

第三方库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
#                               ^^^^^^^^^^^^
Run Code Online (Sandbox Code Playgroud)


AJG*_*G85 3

如果您使用 gcc 4.7,则可以使用 C++11 的大部分内容进行编译,-std=c++11或者您可以在此处-std=gnu++11查看std命名空间下支持的功能。sub 命名空间用于草案,现已成为标准。tr1