- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在按照 GLFW 指南开始,但我似乎无法让它与 GLAD 一起运行。
这是我的 C 文件 (prac.c)
#include <stdio.h>
#include <stdlib.h>
#include<glad/glad.h>
#include<GLFW/glfw3.h>
void error_callback(int error, const char* description) {
fprintf(stderr, "Error %d: %s\n", error, description);
}
int main(void) {
GLFWwindow* window;
if(!glfwInit()) return -1;
glfwSetErrorCallback(error_callback);
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2);
window = glfwCreateWindow(640, 480, "Hello World", NULL, NULL);
if(!window) {
glfwTerminate();
return -1;
}
glfwMakeContextCurrent(window);
printf("OpenGL version: %s\n", glGetString(GL_VERSION));
gladLoadGL();
while(!glfwWindowShouldClose(window)) {
glClear(GL_COLOR_BUFFER_BIT);
glfwSwapBuffers(window);
glfwPollEvents();
}
glfwDestroyWindow(window);
glfwTerminate();
return 0;
}
然后我通过运行这些命令的 Makefile 编译它:
gcc -Wall -lglfw -lGL -ldl -Iglad/include -o obj/glad.o -c glad/src/glad.c
gcc -Wall -lglfw -lGL -ldl -Iglad/include -o obj/prac.o -c prac.c
gcc -Wall -lglfw -lGL -ldl -Iglad/include -o prac obj/glad.o obj/prac.o
每当我尝试运行可执行文件时,我都会遇到段错误。但是,当我注释掉 #include<glad/glad.h>
时和 gladLoadGL();
并构建它,它确实运行。这使我相信包含 glad.h
时会发生段错误,但对于我的生活,我无法弄清楚为什么。
最佳答案
你必须调用初始化 glad在调用任何 OpenGL 指令之前。
这意味着 gladLoadGL()
必须在 glGetString(GL_VERSION)
之前完成:
glfwMakeContextCurrent(window);
gladLoadGL();
printf("OpenGL version: %s\n", glGetString(GL_VERSION));
关于c - 包含 glad.h 时出现段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59960792/
我正在按照 GLFW 指南开始,但我似乎无法让它与 GLAD 一起运行。 这是我的 C 文件 (prac.c) #include #include #include #include void e
我正在尝试为由两个三角形组成的正方形绘制纹理。但是,它没有显示带有纹理的正方形,而是一个黑色正方形。此外,shader.h 与颜色完美搭配。这不是 main.cpp 中的所有代码,只是纹理代码。 ma
我安装了 OpenGL 4.4 版、相应的 4.4 核心 GLAD 版本和 GLFW 3.2 版(在 Visual Studio 2015 中编辑)。我正在使用 https://learnopengl
我正在尝试运行 python 模块 glad从 CMakeList.txt 中使用 execute_process . 按照 glad's 上的说明进行操作git hub 页面,我使用以下方法安装它:
这个问题在这里已经有了答案: When do I need to use an OpenGL function loader? (3 个答案) 关闭 4 年前。 我现在正在学习 OpenGL 并在其
我正在使用 Qt 编写 OpenGL 应用程序。到目前为止,我一直在使用 QOpenGLFunctions_4_4_Core 来获取 OpenGL 函数指针。但是,我不喜欢在所有调用 OpenGL 函
这个问题在这里已经有了答案: What is an undefined reference/unresolved external symbol error and how do I fix it?
这个问题在这里已经有了答案: Compiler error when using "near" as a variable name (1 个回答) 关闭 7 年前。 我用 http://glad.
所以我正在阅读一些 OpenGL,我想使用 QOpenGLWidget 进行绘图,以便稍后创建一些其他有用的 UI 元素。我正在使用 glad用于解析指向 OpenGL 的函数指针,但我不知道如何使用
我正尝试在我的代码中使用 glad.h。我在 Visual Studio 2013 上编程。出于某种原因,它给我错误 C1189: #error : OpenGL header already inc
我想在我的 OpenGL 项目中使用 glad,但我不太确定如何为它创建 Makefile。我从网络服务中下载了 glad 并将目录从 include/(glad/和 KHR/)移动到/usr/inc
我正在使用 Visual Studio 2019 并以以下简单的 OpenGL 程序作为最小示例(使用 GLFW 和 GLAD): #include #include #include void
我正在使用 Visual Studio 2019 并以以下简单的 OpenGL 程序作为最小示例(使用 GLFW 和 GLAD): #include #include #include void
我是一名优秀的程序员,十分优秀!