繁体   English   中英

GLFW 程序在 Cygwin 下冻结?

GLFW program freezes under Cygwin?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我正在尝试使用高兴的 glfw 创建一些便携式 C++ opengl 代码。 程序中使用了 Sockets,msys2 不兼容 posix。 所以我正在尝试对我们没有用的cygwin。

cygwin 没有 glfw 二进制文件,但指令要求从源代码为 linux 构建 glfw,并且声称它应该可以工作。

我创建了一个 MWE:

#include <glad/glad.h>
//#define GLFW_INCLUDE_NONE
#include <GLFW/glfw3.h>
#include <iostream>
#include <cstdlib>
using namespace std;

static void key_callback(GLFWwindow* win,
                         int key, int scancode,
                         int action, int mods) {
    if (key == GLFW_KEY_ESCAPE && action == GLFW_PRESS)
        glfwSetWindowShouldClose(win, GL_TRUE);
}

constexpr int w = 1024, h = 768;
int main() { 
    //  glfwSetErrorCallback(error_callback);
    if (!glfwInit())
        exit(EXIT_FAILURE);
 
    glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 2);
    glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 0);

    GLFWwindow* win = glfwCreateWindow(w, h, "Simple example", NULL, NULL);
    if (win == nullptr) {
        glfwTerminate();
        exit(EXIT_FAILURE);
    }
    glfwSetKeyCallback(win, key_callback);
    
    glfwMakeContextCurrent(win);
    if (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress)) {
        cerr << "Failed to initialize GLAD\n";
        exit(EXIT_FAILURE);
    }

    while (!glfwWindowShouldClose(win)) { 
        glViewport(0, 0, w, h);
        glClear(GL_COLOR_BUFFER_BIT);
  
        glfwSwapBuffers(win);
        glfwPollEvents();
    }
 
    glfwDestroyWindow(win);
    glfwTerminate();
    exit(EXIT_SUCCESS);
}

高兴的文件适用于 msys2。 上面的代码适用于 linux (Ubuntu 20)。

从源代码构建glfw3后,我在cygwin下编译它

g++ -g glfwtest.cc glad.c -o glfwtest -L/usr/local/lib -lglfw3 -lX11

程序在运行时冻结。 没有 window 打开。 我试图在 cygwin 中运行 gdb ,这也冻结了。

这是 windows 10 家庭系统,工作正常。 Cygwin 昨天刚刚安装了 gcc 10.xx 和 gdb。

问题暂未有回复.您可以查看右边的相关问题.
2 在 cygwin 中编译 GLFW

我正在尝试用 cygwin 编译 glfw,但收到这样的错误 有人可以帮忙吗? 任何人都有用 cygwin 编译 glfw 的成功经验? ...

3 GLFW应用程序未在MacOSX下获得关注

我有一个在OSX 10.12.3下使用GLFW的OpenGL应用程序。 我运行它时有50%的时间运行正常。 从我的主循环调用glfwPollEvents() ,将为鼠标事件正确调用鼠标回调。 但是,即使在前台正确创建了一个窗口,其他50%的时间也不会收到普通的鼠标事件。 主循环正 ...

4 使用Cygwin下的Boost程序选项挂起

我一直在将C ++程序从Linux移植到Windows上的Cygwin,但在使用Boost Program Options(Boost 1.43)时遇到了麻烦。 该程序可以在Linux(Boost 1.44)上编译并正常运行,但是在Cygwin下挂起: 有任何想法吗? 如果需要,我可 ...

5 CMake没有在osx下链接glfw

20160614: 我已经通过MacPorts安装了glfw。 sudo port install glfw并且我已经检查了/opt/local/lib/libglfw.dylib是否存在。 这是我的main.cpp头文件: 我的CMakeLists.txt(file1): ...

7 当我按下按钮时程序冻结

嗨,我做了一个记事本来读取文本,但是当我按下按钮时,该程序将冻结并开始读取,并在完成程序后再次运行 我需要能够按按钮阅读,如果我想停止阅读,我按按钮停止 ...

8 按下按钮时应用程序冻结

因此,我为班级分配的任务是为我学校的7年级学生编写一个应用程序,以从事数学工作。 在这个特定的视图控制器中,我正在制作一些可以练习素数的东西。 我无法使用override func viewDidLoad(){}来加载所有内容,因此我实现了一个按钮来激活随机数,模数以检查其是否为质数,并 ...

2016-02-12 20:34:53 1 40   ios/ swift
9 按下按钮时程序冻结

所以我后来制作了这个应该是音板的 gui 程序,除了第二个按钮“btnplay”之外,一切都运行良好,当我点击它时,我选择的声音开始播放,但 window 冻结并且不会响应。 但是当歌曲或声音结束时,它就会解冻。 有任何想法吗? 这是我的整个代码: ...

10 发生异常时,程序在gdb下冻结

我用g ++编译了一个简单的测试程序: 通常可以使用或不使用调试信息。 但是当用gdb调试时,它总是挂起“throw 1;” 因此我无法调试程序,通常会抛出异常。 调试器的最后一个信息是: 我的编译和链接选项: 我的环境:ubuntu 10.10,64bit; g ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM