【发布时间】:2016-07-10 15:52:27
【问题描述】:
我有一个 qt 项目,其中包含 C++14 中的部分。
最近,我改变了我的 ubuntu 发行版。现在我有 16.04 LTS 并安装了 Qt creator 4.02(建于 6 月 13 日)。
为了启用C++14编译,我把项目文件放进去:
QMAKE_CXXFLAGS += -std=c++14
但是,在构建项目时,IDE 会生成以下命令:
g++ -c -pipe -std=c++14 -g -O0 -g -std=gnu++11 -Wall -W -D_REENTRANT ...
如所见,生成的makefile 放置了标志-std=gnu++11,它覆盖了C++14 的标志。我以前的发行版(LTS 12.04,相同的 qt creator 版本)没有发生这种情况。
我试过了
CONFIG += -std=c++14
但是行为是一样的。
有人可以提供任何线索吗?
【问题讨论】:
-
如果我遇到这个问题,我会在我的这个项目的配置文件和你的 qt 创建者的配置文件中递归 grep
"gnu++11",但在我的 bin 目录中失败了。做不到这一点,硬盘驱动器很宽。这可能是某个地方的一些无害环境...... -
试试
CONFIG += C++14 -
@JonHarper 你应该把它作为正确答案发布!
-
将
QMAKE_CXXFLAGS_CXX11 = -std=c++14添加到您的 *.pro 文件中。看来,您的 *.pro 文件已经包含CONFIG += c++11指令。
标签: c++ qt qt-creator c++14