QtCreator Cmake C ++ 17功能

时间:2018-01-29 12:28:16

标签: c++ qt cmake qt-creator c++17

所以我在这里,在我的终端中编译基于CMake的C ++项目,就像在Xubuntu 16.04(通过ppa)上没有明天的gcc-7.2.0

一切正常,新功能为我的代码库增添了相当大的价值。

然而,尝试使用相同的编译器在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& run部分中手动选择gcc-7,但没有成功。所以我的问题是:

我需要在IDE中调整什么才能使其符合最新标准?

1 个答案:

答案 0 :(得分:3)

如果你在Qt创建者中编译Cmake项目,请确保你的CMakeLists.txt中有这样的一行:

<script type="text/javascript" src="//code.jquery.com/jquery-1.11.3.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.13.1/jquery.validate.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.13.1/additional-methods.js"></script>

<form id="update_profile" method="post" action="">
  <input type="file" name="image" />
  <input type="submit" value="Save" />
</form>

要使用gcc-7.2.0,请确保它列在 Build&amp;的编译器标签中。在工具/选项中运行部分。然后,在 Kits 选项卡中,选择您为项目配置的工具包,并选择gcc-7.2.0作为工具包的编译器。

如果您使用的是qmake,请将此行添加到set(CMAKE_CXX_STANDARD 17) 文件中:

pro