首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在of创建者中编译C++14

在of创建者中编译C++14
EN

Stack Overflow用户
提问于 2016-07-10 15:52:27
回答 2查看 4.9K关注 0票数 7

我有一个包含C++14部件的qt项目。

最近,我改变了我的ubuntu发行版。现在我有了16.04LTS,我安装了QtCreative4.02(建于6月13日)。

为了启用C++14编译,我输入了项目文件:

代码语言:javascript
复制
QMAKE_CXXFLAGS += -std=c++14

但是,在构建项目时,IDE将生成以下命令:

代码语言:javascript
复制
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创建者版本)中没有发生。

我试过

代码语言:javascript
复制
CONFIG += -std=c++14

但行为是一样的。

有人能给点线索吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-07-10 16:20:24

而不是:

代码语言:javascript
复制
CONFIG += -std=c++14

使用:

代码语言:javascript
复制
CONFIG += c++14
票数 7
EN

Stack Overflow用户

发布于 2016-07-11 14:42:06

你可以从根本上解决它。通过更改配置文件。

首先,您需要在项目中使用的库路径。您可以确定查看项目面板(Ctrl + 5)并在(Build|Run)按钮上记住"Kit“名称的路径,然后按照Tools -> Options -> Build & Run -> Kits,选择以前记得的"Kit”,然后可以看到Qt version:行内容,然后在Qt versions选项卡上看到相应的完整库路径。在我的例子中,我看到了/usr/local/Qt-5.4.1/

/usr/local/Qt-5.4.1/mkspecs/common/g++-base.conf文件中(安装了Qt库的另一条路径),您可以将QMAKE_CXXFLAGS_CXX11QMAKE_CXXFLAGS_CXX14 (如果有的话)变量更改为您想要的任何变量(例如,改为-std=gnu++1z)。

对于clang,在我的例子中,路径变成了/usr/local/Qt-5.4.1/mkspecs/common/clang.conf

对于其他目标/编译器,您可能需要遵循Tools -> Options -> Build & Run -> Kits -> (select Kit you use) -> (look at 'Qt mkspec:' line at bottom),然后在/usr/local/Qt-5.4.1/mkspecs/*/qmake.conf ( *Qt mkspec:行内容)和所有包含的*.conf文件中找到您需要的字符串QMAKE_CXXFLAGS_CXX11QMAKE_CXXFLAGS_CXX14。然后适当地更改其值。

当然,您需要使用CONFIG += c++11CONFIG += c++14,就像Jon Harperhis answer中提到的那样。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38293708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档