Qt需要C ++ 11支持

时间:2016-09-05 17:00:22

标签: qt c++11 gcc compiler-errors

我使用了Qt 5.7和gcc 4.9.2。 Qt Core模块抛出Qt requires C++11 support错误。

This page

  

gcc 4.9.2无法编译Qt。

所以我安装了gcc 4.8。我在终端上使用以下命令检查:

$ g++ --version
g++ (Ubuntu 4.8.4-1ubuntu15) 4.8.4

我的工具包使用cmake而不是qmake。我将TARGET_LINK_LIBRARIES ( xxxx yyyy /usr/bin/c++ -std=c++11添加到CMakeLists-txt。

我重新启动电脑并再次运行我的应用程序。抛出相同的错误。

/opt/Qt/5.7/gcc_64/include/QtCore/qbasicatomic.h:61: error: #error "Qt requires C++11 support"
 #  error "Qt requires C++11 support"
    ^

我该如何解决?

5 个答案:

答案 0 :(得分:0)

明确地启用c ++ 11:

    set(CMAKE_CXX_FLAGS "-std=c++11" CACHE STRING "compile flags" FORCE)声明之后
  1. project(...)
  2. add_library(MyLib SHARED ${PROJECT_HEADERS} ${PROJECT_SOURCES}) ... set_property(TARGET MyLib PROPERTY CXX_STANDARD 11) set_property(TARGET MyLib PROPERTY CXX_STANDARD_REQUIRED ON)

答案 1 :(得分:0)

我的解决方案是(在.pro文件中):

QMAKE_CXXFLAGS += -stdlib=libc++
QMAKE_CXXFLAGS += -std=c++11
QMAKE_CXXFLAGS += -mmacosx-version-min=10.7
QMAKE_LFLAGS += -mmacosx-version-min=10.7

答案 2 :(得分:0)

它已经有一段时间了。 我最终如何解决它在 CMakeLists.txt 中指示project(MyProject)之后的以下行:

add_compile_options(-std=c++11)

对cmake说,创建一个 Makefile ,它将使用c ++ 11解决问题。

答案 3 :(得分:0)

如果使用QtCreator,您可以将其添加到.pro文件中:

CONFIG += c++11

https://wiki.qt.io/How_to_use_C%2B%2B11_in_your_Qt_Projects

答案 4 :(得分:0)

有时,这将不是其他答案中提到的配置问题。就我而言,问题是一个文件恰好以.CPP扩展名而不是.cpp保存。 QMake(Qt5)错误地标识了文件,并尝试使用C编译器而不是C ++编译器进行编译。来自Qt4的QMake没有出现此问题。重命名文件可解决此问题。

当时我的评论是“难道真的就是f& %%&很简单!”