Я пытаюсь настроить простую программу 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.Чем можно объяснить это поведение?