QtCreator Cmake C++17 特性
QtCreator Cmake C++17 Features
所以我在这里,在我的终端中编译基于 CMake 的 C++ 项目,就像在 Xubuntu 16.04 上使用 gcc-7.2.0(通过 ppa)一样没有明天
一切正常,新功能为我的代码库增加了可观的价值。
但是,尝试使用相同的编译器在 qtcreator 中编译完全相同的项目会产生如下错误
: error: expected ‘)’ before ‘;’ token
if (auto event = events_.find(eventName); event == end(events_)) {
^
: error: ‘else’ without a previous ‘if’
} else {
^
如果尝试编译 initializer-ifs。我试图在 qtCreators 选项的 build&运行 部分手动选择 gcc-7 但没有成功。所以我的问题是:
我需要在 IDE 中进行哪些调整才能使其符合最新标准?
如果您在 Qt creator 中编译 Cmake 项目,请确保您的 CMakeLists.txt:
中有这样一行
set(CMAKE_CXX_STANDARD 17)
要使用 gcc-7.2.0,请确保它列在 Build & 运行[=23= 的 Compilers 选项卡中] Tools/Option 部分。然后,在 Kits 选项卡中,select 您配置项目的工具包,select gcc-7.2.0 作为工具包的编译器。
如果您使用的是 qmake,请将此行添加到您的 pro
文件中:
QMAKE_CXXFLAGS += -std=c++17
所以我在这里,在我的终端中编译基于 CMake 的 C++ 项目,就像在 Xubuntu 16.04 上使用 gcc-7.2.0(通过 ppa)一样没有明天
一切正常,新功能为我的代码库增加了可观的价值。
但是,尝试使用相同的编译器在 qtcreator 中编译完全相同的项目会产生如下错误
: error: expected ‘)’ before ‘;’ token if (auto event = events_.find(eventName); event == end(events_)) { ^ : error: ‘else’ without a previous ‘if’ } else { ^
如果尝试编译 initializer-ifs。我试图在 qtCreators 选项的 build&运行 部分手动选择 gcc-7 但没有成功。所以我的问题是:
我需要在 IDE 中进行哪些调整才能使其符合最新标准?
如果您在 Qt creator 中编译 Cmake 项目,请确保您的 CMakeLists.txt:
中有这样一行set(CMAKE_CXX_STANDARD 17)
要使用 gcc-7.2.0,请确保它列在 Build & 运行[=23= 的 Compilers 选项卡中] Tools/Option 部分。然后,在 Kits 选项卡中,select 您配置项目的工具包,select gcc-7.2.0 作为工具包的编译器。
如果您使用的是 qmake,请将此行添加到您的 pro
文件中:
QMAKE_CXXFLAGS += -std=c++17