Ошибки "no template / member named" в QtCreator при включении GLM, но все же компилируются - PullRequest
0 голосов
/ 26 сентября 2018

Я пытаюсь настроить простую программу opengl, используя C ++, QtCreator и CMake.После добавления включения для GLM (математика OpenGL, которая предназначена только для заголовков), QtCreator указывает на различные ошибки «без имени шаблона ..» и «без имени члена ..».Несмотря на это, код компилируется без проблем.

#pragma once

#include <glm/glm.hpp>

#include <cassert>
#include <iostream>
#include <stdexcept>
#include <cmath>
#include <vector>

std::vector<int> pp;

int main() {
    std::cout << "Hi" << std::endl;
}

В этом игрушечном примере QtCreator указывает:

ошибка: нет шаблона с именем 'vector' в пространстве имен 'std'

ошибка: ни один член с именем 'cout' в пространстве имен 'std'

не выводит:

Hi

Как GLMтолько для заголовка, мой CMakeLists.txt очень прост:

cmake_minimum_required(VERSION 2.8)

project(testgl)
add_executable(${PROJECT_NAME} "main.cpp")

Включая некоторые части glm, такие как "glm / vec2.hpp" вместо "glm / glm.hpp", удаляет ошибки, в то время какдругие, такие как "glm / mat4x4.hpp" не.

Я нахожусь в Linux, и использую gcc 8.2.0 и GLM 0.9.9.0-1.Чем можно объяснить это поведение?

...