Notepad++运行Raylib程序返回退出码-1073741819问题求助
错误原因说明
你遇到的退出码 -1073741819 是Windows系统下的内存访问违规错误(0xC0000005),结合你直接运行exe输出的日志可以定位根因:
WARNING: GLFW: Error: 65543 Description: WGL: OpenGL profile requested but WGL_ARB_create_context_profile is unavailable
WARNING: GLFW: Failed to initialize Window
Raylib 3.7默认在桌面环境请求OpenGL 3.3核心模式,你的当前运行环境(显卡、驱动、系统或虚拟机)不支持该版本OpenGL的扩展特性,导致窗口初始化失败,后续代码尝试访问未初始化的图形上下文就触发了崩溃。
修复方案
- 方案1:修改编译参数,强制使用低版本兼容OpenGL模式
在你的编译配置中,找到CFLAGS的定义,将原有的-DPLATFORM_DESKTOP参数修改为-DPLATFORM_DESKTOP -DGRAPHICS_API_OPENGL_21,如果还是报错可以进一步改成-DGRAPHICS_API_OPENGL_11,低版本OpenGL的兼容性更强,适配绝大多数老显卡和虚拟机环境。
修改后完整的编译命令参考:gcc -o core_basic_window.exe core_basic_window.c C:\raylib\raylib\src\raylib.rc.data -s -static -Os -std=c99 -Wall -IC:\raylib\raylib\src -Iexternal -DPLATFORM_DESKTOP -DGRAPHICS_API_OPENGL_21 -lraylib -lopengl32 -lgdi32 -lwinmm - 方案2:升级显卡驱动
实体机环境可以先升级官方最新版显卡驱动,很多旧版本驱动没有提供必要的OpenGL扩展支持,升级后即可正常运行。 - 方案3:开启虚拟机3D加速
如果你是在VMware、VirtualBox等虚拟机中运行Windows,需要在虚拟机设置中开启3D加速选项,否则虚拟机默认的图形层不支持高版本OpenGL。 - 方案4:降级Raylib版本
Windows7系统适配性最好的是Raylib 3.0版本,高版本Raylib对旧系统的支持会逐步弱化,降级版本也可以解决兼容问题。
验证方法
修改配置后重新编译代码,先直接双击生成的exe运行,确认可以正常弹出显示文字的窗口后,再在Notepad++中执行即可,不会再出现对应报错。
内容的提问来源于stack exchange,提问作者slotl
相关产品推荐
相关产品推荐

