BerthaDusStuf Ответов: 1

Я изо всех сил пытаюсь настроить opengl и радуюсь использованию кодовых блоков


Я пытаюсь настроить OpenGL для своих кодовых блоков, но постоянно получаю ошибку. Вот что я сделал до сих пор:
Я скачал 32 битные двоичные файлы для GLFW с этого сайта: GLFW - скачать[^]
Я также рад, что скачал с этого сайта: http://glad.dav1d.de/
Затем я добавил Все файлы из этих загрузок в папку include. После этого я добавил glad.c и glad.h к моему проекту. Затем в codeblocks я щелкнул вкладку project, build options, search directories, compiler и добавил 2 папки include, которые я получил из загрузок и папки src. затем в поисках каталогах я пошел, чтобы компоновщик и добавил либерал-компилятор MinGW.

из книги которую я использую для изучения openGL мне было поручено добавить этот код:
#include <GLFW/glfw3.h>
#include <iostream>
int main()
{
//setting the version of openGL
glfwInit();
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
//glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);

//creating a window
GLFWwindow* window = glfwCreateWindow(800, 600, "LearnOpenGL", NULL, NULL);
if (window = NULL)
{
    std::cout <<"Failed to create GLFW window\n";
    glfwTerminate();
    return -1;
}

glfwMakeContextCurrent(window);

if (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress))
{
std::cout << "Failed to initialize GLAD" << std::endl;
return -1;
}

glViewport(0, 0, 800, 600);

return 0;
}


Моя проблема в том, что я постоянно получаю ошибку: "GLADloadproc" не был объявлен в этой области, а "GLADLoadGLLoader" не был объявлен в этой области. В чем может быть проблема, учитывая то, что я сделал до сих пор?

Что я уже пробовал:

Ничего...........................................................

1 Ответов

Рейтинг:
0

Jochen Arndt

Вы должны включить заголовочный файл(ы), в котором объявлены эти функции и типы:

#include <glad/glad.h>
Путь зависит от того, где был установлен файл. Вышеизложенное предполагает, что это радостный подкаталог каталога, в котором находится ваш исходный файл. Если он находится где-то еще, вы должны добавить путь к списку каталогов include, которые ищет ваш компилятор (параметры проекта при использовании IDE, переменной оболочки или опции командной строки компилятора при использовании файла make или компиляции вручную в командной строке).

[РЕДАКТИРОВАТЬ]
Быстрое веб - исследование показало, что рад.ч должно быть включено раньше glfw3.ч:
#include <glad/glad.h>
#include <GLFW/glfw3.h>
[/РЕДАКТИРОВАТЬ]


BerthaDusStuf

Хорошо, спасибо, я внес коррективы, так что теперь моя папка glad является частью моей папки проекта, но я все еще получаю ошибку. Я также попытался поместить его в такие цитаты: #include "glad/glad.h", И это все еще не сработало. Однако это те же самые ошибки, которые возникли. У вас есть еще какие-нибудь предложения?

BerthaDusStuf

Кроме того, я на самом деле не знаю, что я делаю, перейдя в проект, параметры сборки-каталоги поиска-компилятор(или компоновщик) и выбрав файлы. Я просто следовал учебнику, но не могли бы вы объяснить abit о том, что я там делаю. А также что я делаю в настройках компоновщика build-options-linker? Я действительно мало что знаю, поэтому, пожалуйста, объясните просто. спасибо

BerthaDusStuf

Кроме того, я на самом деле не знаю, что я делаю, перейдя в проект, параметры сборки-каталоги поиска-компилятор(или компоновщик) и выбрав файлы. Я просто следовал учебнику, но не могли бы вы объяснить abit о том, что я там делаю. А также что я делаю в настройках компоновщика build-options-linker? Я действительно мало что знаю, поэтому, пожалуйста, объясните просто. спасибо

Jochen Arndt

Смотрите мой обновленный ответ.

Я предлагаю также прочитать об основах инструментов программирования C/C++ и о том, как они работают (ключевые слова препроцессор, компилятор и компоновщик). Это помогает понять, что происходит и почему могут возникнуть определенные ошибки.

Но объяснение этого здесь выходит далеко за рамки комментария и "быстрого ответа".

BerthaDusStuf

Пользователь-2223753 спасибо за предложение, но у меня не так много времени, чтобы узнать это, поэтому я пытаюсь научиться настраивать его как можно быстрее

Jochen Arndt

Поверьте: это не поможет вам получить что-то "работающее", не имея хотя бы базовых знаний по данной теме. Рано или поздно он вернется к вам.

Развитие-это не только (повторное)использование чужой работы. Это знание, по крайней мере, основ тем (изучение их, если требуется), а затем использование этих знаний для реализации.

Кроме того, использование таких технологий, как OpenGL, не является темой для начинающих. Если это какой-то частный / учебный проект, я предлагаю начать с чего-то более простого.

Наконец, я (и большинство - если не все - здесь) пытаюсь помочь вам понять вашу проблему, чтобы вы чему-то научились. Но мы не будем делать вашу работу за вас; особенно если вы заинтересованы только в том, чтобы ваша работа была сделана как можно скорее. Мы все здесь отвечаем добровольно, и у нас есть своя работа.

BerthaDusStuf

Я не пытаюсь заставить вас делать мою работу за меня, я просто не знаю об этой теме, и хотя я знаю, что, вероятно, хорошо читать о предварительной обработке, компиляции и тому подобных вещах, но у меня нет времени, и я думаю, что это выполнимо без нее. Если вы не хотите помочь это прекрасно но я не собираюсь читать о препроцессинге компиляции и линкинге прямо сейчас