使用高兴时出现分段错误

问题描述

这是我的代码

#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 (将#修改为@)