OpenGL-GLFW-glad выдает ошибки “unresolved external symbol glad_FuncName”

265
28 июля 2017, 02:34

Приветствую. Целый день ищу причину, никак не могу её найти. Всё портит glad.h, но он нужен для таких функций как glDrawArrays, glBufferData, glViewport и т.д. Буду рад любой помощи!

#pragma comment(lib, "liblua53.a")
#pragma comment(lib, "glfw3dll.lib")
#pragma comment(lib, "glfw3.lib")
#pragma comment(lib, "opengl32.lib")
#include <iostream>
#include <windows.h>
extern "C"
{
#include <lua.h>
#include <lualib.h>
#include <lua.hpp>
#include <luaconf.h>
}
#include <glad/glad.h>
#include <GLFW/glfw3.h>
using namespace std;
//prototypes
void execGLFWProgram();
void glfw_ErrorFunction(int error, const char*  description);
static void glfw_keyCallback(GLFWwindow* window, int key, int scancode, int action, int mods);
void lua_execScript();
//structures,data
static const struct {
    float x, y;
    float r, g, b;
} verticles[3]{
    { -0.6f, -0.4f, 1.f, 0.f, 0.f },
    { 0.6f, -0.4f, 0.f, 1.f, 0.f },
    { 0.f,  0.6f, 0.f, 0.f, 1.f }
};
static const char* vertex_shader_text ="";
static const char* fragment_shader_text ="";
//functions
void main() {
    execGLFWProgram();
    fflush(stdin);
    system("pause");
}
void execGLFWProgram() {
    GLFWwindow* window = nullptr;
    if (!glfwInit()) {
        cout << "Can't init GFLW!" << endl;
        return;
    }
    glfwSetErrorCallback(glfw_ErrorFunction);
    window = glfwCreateWindow(700, 560, "GFLW Window", NULL, NULL);
    if (window == NULL) {
        cout << "Can't create GFLW window!" << endl;
        return;
    }
    glfwSetKeyCallback(window, glfw_keyCallback);
    glfwMakeContextCurrent(window);
    //set OpenGL
    int width, height;
    glfwGetFramebufferSize(window, &width, &height);
    glViewport(0, 0, width, height);
    GLuint vShader, vBuffer, fShader, program;
    glGenBuffers(1, &vShader);
    glBindBuffer(GL_ARRAY_BUFFER, vShader);
    glBufferData(GL_ARRAY_BUFFER, sizeof(verticles), verticles, GL_STATIC_DRAW);
    vShader = glCreateShader(GL_VERTEX_SHADER);
    glShaderSource(vShader, 1, &vertex_shader_text, NULL);
    glCompileShader(vShader);
    fShader = glCreateShader(GL_FRAGMENT_SHADER);
    glShaderSource(fShader, 1, &fragment_shader_text, NULL);
    glCompileShader(fShader);
    program = glCreateProgram();
    glAttachShader(program, vShader);
    glAttachShader(program, fShader);
    glLinkProgram(program);
    GLint mvpLoc = glGetUniformLocation(program, "MVP");
    GLint vPosLoc = glGetUniformLocation(program, "vPos");
    GLint vColLoc = glGetUniformLocation(program, "vCol");
    glEnableVertexAttribArray(vPosLoc);
    glVertexAttribPointer(vPosLoc, 2, GL_FLOAT, GL_FALSE, sizeof(float) * 5, (void*)0);
    glEnableVertexAttribArray(vColLoc);
    glVertexAttribPointer(vColLoc, 3, GL_FLOAT, GL_FALSE, sizeof(float) * 5, (void*)(sizeof(float)*2));
    while (!glfwWindowShouldClose(window)) {
        glfwPollEvents();
        glUseProgram(program);
        glDrawArrays(GL_TRIANGLES, 0, 3);
    }
    glfwDestroyWindow(window);
    glfwTerminate();
}
void glfw_ErrorFunction(int error, const char*  description) {}
static void glfw_keyCallback(GLFWwindow* window, int key, int scancode, int action, int mods){}
void lua_execScript() {}
READ ALSO
Парсер математических выражений

Парсер математических выражений

Как написать парсер математических выражений? Надо реализовать не только операторы (+, -, /, *), но и функции, например log, sin, cos, tan и тд

674
Qt Объединение ячеек в таблице

Qt Объединение ячеек в таблице

Всем привет! Хочу сделать таблицу как на прикрепленной картинке:

429
Бесконечный ввод чисел в консоли

Бесконечный ввод чисел в консоли

Надо считать бесконечный ряд переменных типа double с консолиНапример, я ввожу:

267
Объясните зачем нужен массив temp в примере!

Объясните зачем нужен массив temp в примере!

Подскажите, зачем в приведенном примере инициализируется локальный массив char temp[80] ? Массив не используется, но и объяснений нет никаких,...

273