【发布时间】:2017-01-13 01:58:54
【问题描述】:
我使用了 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"
^
我该如何解决?
【问题讨论】:
-
您是否尝试过使用 C++11(例如编译器标志)?
-
@ray 我将 TARGET_LINK_LIBRARIES ( xxxx yyyy /usr/bin/c++ -std=c++11 添加到 CMakeLists.txt 文件中
-
啊,对不起,我第一眼看帖子时一定错过了这个部分。
-
TARGET_LINK_LIBRARIES似乎只与链接阶段有关。-std=c++11也必须添加到编译器选项中。您可能会在那里找到答案:stackoverflow.com/q/10851247/894321 -
使用
CXX_STANDARD和CXX_STANDARD_REQUIREDCMake 变量 (cmake.org/cmake/help/v3.1/prop_tgt/CXX_STANDARD.html)。如果不同的库需要不同的标准,手动添加-std选项通常会破坏您的 CMake 构建。
标签: qt c++11 gcc compiler-errors