Ошибка кодирования в QT Creator при включении файлов заголовков glm - PullRequest
0 голосов
/ 29 апреля 2020

Я включаю файлы заголовков GLM в проект QT в QTCreator, но продолжаю получать ошибки кодирования. Кажется, что для всех файлов установлено значение UTF-8, и они нормально отображаются на экране. Я получаю несколько сообщений:

C:\Users\Luís Longo\OneDrive\Dyno3D\linking\glm\detail\type_mat2x3.inl:-1: In member function 'glm::mat<2, 3, T, Q>::col_type& glm::mat<2, 3, T, Q>::operator[](glm::mat<2, 3, T, Q>::length_type)':
C:\Users\Luís Longo\OneDrive\Dyno3D\linking\glm\detail\type_mat2x3.inl:222: error: converting to execution character set: Illegal byte sequence
assert(i < this->length());
^

.pro file

QT       += core gui opengl
LIBS     += -lopengl32
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

CONFIG += c++11
INCLUDEPATH += $$PWD/linking/glm
DEFINES += QT_DEPRECATED_WARNINGS

SOURCES += \
    GLPanel.cpp \
    main.cpp \
    mainwindow.cpp

HEADERS += \
    GLPanel.h \
    mainwindow.h

FORMS += \
    mainwindow.ui

# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

DISTFILES += \
    fragment.glsl \
    vertex.glsl

Класс виджетов OpenGL

#ifndef GLPANEL_H
#define GLPANEL_H

#include <QWidget>
#include <QOpenGLWidget>
#include "glm.hpp"

class GLPanel : public QOpenGLWidget
{
public:
    GLPanel(QWidget* parent);
protected:
    void initializeGL() override;
    void resizeGL(int w, int h) override;
    void paintGL() override;
private:
    void InitializeOpenGLOptions();
};

#endif // GLPANEL_H```

1 Ответ

0 голосов
/ 29 апреля 2020

Кажется, проблема была в том, что путь к файлу имеет символ "í". Изменение папки проекта решило проблему.

...