问题描述
这是我的代码:
#include <stdio.h>
#include "glad/glad.h"
#include "GLFW/glfw3.h"
static void key_callback(GLFWwindow* window,int key,int scancode,int action,int mods)
{
if (key == GLFW_KEY_ESCAPE && action == GLFW_PRESS)
glfwSetwindowShouldClose(window,GLFW_TRUE);
}
int main(){
if (!glfwInit()){
// Initialization Failed
}
GLFWwindow* window = glfwCreateWindow(640,480,"My Title",NULL,NULL);
if (!window){
// Window or OpenGL context creation Failed
}
glfwMakeContextCurrent(window);
// if(!gladLoadGL()){
// // glad Failed to load
// }
glfwSetKeyCallback(window,key_callback);
int width,height;
glfwGetFramebufferSize(window,&width,&height);
glViewport(0,width,height);
while (!glfwWindowShouldClose(window))
{
// Keep running
glfwPollEvents();
}
glfwDestroyWindow(window);
glfwTerminate();
return 0;
}
这是我用来构建它的脚本:
#!/bin/bash
gcc -Wall -Wextra -g -Iinclude -Llib -o morg src/glad.c src/main.c -lglfw -lcommon -ldl
一切都按预期进行,直到包括高兴为止。网络服务为我生成的文件是 here。在我包含 -ldl
标志之前,程序根本无法编译。
现在程序编译没有错误,但是当我运行它时,我得到以下信息:
br.sh: line 2: 5821 Segmentation fault (core dumped) ./morg
知道为什么会发生这种情况吗?我发现 this 似乎相关,静态库和动态库之间存在某种混淆?理想情况下,我想尽可能使用静态库。
提前致谢。
编辑: 我注释掉了我加载高兴的代码,但忘记取消注释了。它正盯着我的脸。抱歉浪费您的时间。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)