Qt Creator clang代码模型“无法解析包含的文件”警告和派生模板类中的错误

时间:2018-01-30 09:44:13

标签: qt qt-creator c++17

我在Qt Creator中使用了clang代码模型。它总是工作正常,包括我覆盖从模板基类派生的类中的方法和使用C ++ 17功能时的情况。然后我切换到Qt Creator 4.5并突然得到错误“只有虚拟成员函数可以被标记'覆盖'”,即使代码没有改变。

现在我尝试回到Qt Creator 4.4并删除所有设置,但它仍然是相同的。

最重要的是,当我打开一个新文件时,我收到警告“代码模型无法解析包含的文件,这可能导致代码完成缓慢或不正确以及突出显示,例如.type_traits:3083:7:错误:期望'('用于函数式转换或类型构造“并且我得到错误”错误:在命名空间'std'中没有名为'optional'的类型。

这只影响代码模型,即。 Qt Creator在IDE中向我显示警告和错误。编译仍然可以正常工作。

以下是我对代码模型的配置:

  

-Weverything -Wno -c ++ 98-compat -Wno-c ++ 98-compat-pedantic -Wno-unused-macros -Wno-newline-eof -Wno-exit-time-destructors -Wno-global-构造函数-Wno-gnu-zero-variadic-macro-arguments -Wno-documentation -Wno-shadow -Wno-missing-prototypes -Wno-c ++ 11-extensions -std = c ++ 1z

我在设置Commands Extension时设置了它,但没有改变任何内容。

这是一个导致“错误:使用未声明的标识符'std'”,“错误:预期'('用于函数式转换或类型构造”和“错误:使用未声明的标识符'x'”的最小示例:

std

有什么线索可能已经改变或者我可能缺少哪些设置?

1 个答案:

答案 0 :(得分:0)

这似乎是Qt Creator的问题。在4.6版中已解决,该版本使用了较新版本的clang。

相关问题