我想使用C++ 17的功能.
如何在Microsoft Visual Studio中将编译从C++ 14切换到C++ 17?
或者它在VS的发布版本中不可用?
我知道有很多关于这个的帖子,但老实说我并不理解它.
那么,我如何为我的Qt Creator安装套件(开源5.7)?
我只想在Qt中开发并选择MinGW 32和MinGW 64.
提前致谢!
编辑:我也检查了维基页面.大多数命令没有奏效.我被告知它已经过时了.
不久前我遇到了问题,让 std::variant 在 QtCreator 项目中工作,在这里面临类似的抱怨:
无法在 QtCreator 中使用 g++ 7.2 使用 c++17 功能
我解决了这个问题,并且已经愉快地在这个项目上工作了一段时间,没有出现进一步的问题。它在 ubuntu 14.04 上运行,使用 GCC 7.2.0 构建,并在 clang 5.0 下构建。
两天前,我备份了所有内容,安装了最新的 QtCreator,再次安装了我的所有工具(gcc 7.2.0 和 clang 5.0),检索了我的项目并尝试构建。构建失败,说明:
/usr/include/c++/7.2.0/bits/c++17_warning.h:32: 错误:此文件需要编译器和库支持 ISO C++ 2017 标准。必须使用 -std=c++17 或 -std=gnu++17 编译器选项启用此支持。
在我的项目文件中,我已经有了这个:
QMAKE_CXXFLAGS += -std=c++17
Run Code Online (Sandbox Code Playgroud)
我可以在编译器输出中的短语“-std=c++17”中看到。这是直到出现第一个错误为止的完整编译器输出:
15:08:37: Running steps for project AIRadioQt...
15:08:37: Skipping disabled step qmake.
15:08:37: Starting: "/usr/bin/make"
/home/pete/Programming/Qt/5.10.0/gcc_64/bin/qmake -o Makefile ../AIRadioQt/AIRadioQt.pro -spec linux-clang CONFIG+=debug CONFIG+=qml_debug
clang++ -c -pipe -std=c++17 -g -std=gnu++11 -Wall -W -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_DATAVISUALIZATION_LIB -DQT_WIDGETS_LIB …Run Code Online (Sandbox Code Playgroud) c++ ×2
c++17 ×2
clang ×1
compilation ×1
mingw-w64 ×1
msys2 ×1
qt ×1
qt-creator ×1
qt5.6 ×1
variant ×1