微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用高兴时出现分段错误

如何解决使用高兴时出现分段错误

这是我的代码

#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 举报,一经查实,本站将立刻删除。