如何使用Clang 3.5在QtCreator 3.3中启用C ++ 14支持?我添加了一个Clang工具包,我在项目文件中添加了CONFIG += c++14
。然而,当使用例如return type deduction我收到以下错误:
错误:' auto'返回没有尾随返回类型;推导出的返回类型是C ++ 1y扩展
答案 0 :(得分:6)
您可以在CONFIG += c++14
文件中使用.pro
和Qt5.5
但clang有一个错误,所以我们需要修改Qt/5.5/clang_64/mkspecs/features/c++14.prf
文件,
在include(c++11.prf)
之前添加此代码:
contains(QMAKE_LFLAGS_CXX11, -stdlib=libc++) {
QMAKE_CXXFLAGS_CXX11 += -stdlib=libc++
}
答案 1 :(得分:3)
我必须转到构建文件夹中的Makefile,然后用-std=c++11
手动替换-std=c++14
。
值得庆幸的是,当您将工具包添加到项目中时,Makefile只会写入一次。我只需要这样做一次,并且可以根据需要随时在QtCreator中构建。
所以现在我可以使用Clang工具包来使用所有新的c ++ 14功能。作为奖励,如果我在Makefile中手动设置-std=c++1z
,我也可以使用所有c ++ 17功能。甜!