'Incomplete type' 在带有 ReSharper 的 VS 中使用 glm::vec3 时发出警告

'Incomplete type' warning at use of glm::vec3 in VS with ReSharper

我正在学习 OpenGL 教程,我有一个简单的 .h 文件,我在其中创建了一个构成顶点格式的结构。我在 glm::vec3 字段收到不完整的类型错误。这是我第一次尝试使用 glm 库。你知道我错过了什么吗?

我看了一些关于不完整类型的答案,但他们似乎都在谈论递归包含,我似乎没有。

#pragma once
#include <glm/glm.hpp>

struct VertexFormat {
    glm::vec3 position; //error here

    VertexFormat(const glm::vec3 &pos) {
        position = pos; //and here
    }
};

单词vec3加下划线"Type 'glm::vec<3, float, 0>' is incomplete"然后单词位置加"Cannot assign to an incomplete type 'glm::vec<3, float, 0>'"

编辑: 问题出在 IDE - 我只是评论了代码的其他未完成部分以便我可以编译,尝试使用 VertexFormat 编写一些代码并且它编译并运行得很好(尽管仍然带有红色下划线)。我正在使用带有 ReSharper Ultimate 扩展的 Visual Studio 2017。我从官方网站下载了 glm,因为 lib 是 header 只有我只是将带有 header 文件的 glm 文件夹复制到 /include 内的解决方案目录中,我还有另一个文件夹 GL,其中包含 GLEW 和 FreeGLUT它(工作正常)。 glm.hpp #includes 所有其他 glm header。在项目属性中,我将 $(SolutionDir)/include 作为附加包含目录。

请更新到最新的 ReSharper 版本 - 最初的 2019.1 版本中存在一个错误,可能会导致此问题(有关详细信息,请参阅 RSCPP-26279)。