Qt 需要 C++11 支持

zak*_*jma 5 qt gcc compiler-errors c++11

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

这个页面

gcc 4.9.2 无法编译 Qt。

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

$ g++ --version
g++ (Ubuntu 4.8.4-1ubuntu15) 4.8.4
Run Code Online (Sandbox Code Playgroud)

我的工具包使用 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"
    ^
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

Ser*_*ash 0

显式打开 c++11:

  1. set(CMAKE_CXX_FLAGS "-std=c++11" CACHE STRING "compile flags" FORCE)声明后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)