golang调用sdl2,播放pcm音频,报错signalarrivedduringexternalcodeexecution。win10x64下测试成功,其他操作系统下不保证成功。采用的是syscall方式,不是cgo方式。见地址在go1.16.15编译后然后执行,会报如下错。换成go1.18就不报错了。Exception0xc00000050x00xc0004420000x7ff96da8db50PC=0x7ff96da8db50signalarrivedduringexternalcodeexecutionsyscall.Syscall6(0x7ff96daa7440,0x4,0x20d
我已经尝试安装sdlforgo一段时间了。我在github上使用了这个教程:https://github.com/vinzBad/go-sdl2-tut/blob/master/00_preparation/windows.md但是,每次我输入goget-vgithub.com/veandco/go-sdl2/sdl进入cmd或gitbash,完成所有其他操作后,我得到了Infileincludedfromgo\src\github.com\veandco\go-sdl2\sdl\audio.go:4:0:./sdl_wrapper.h:2:23:fatalerror:SDL2/SDL
有人成功过吗? 最佳答案 如果出现以下情况,只需在根目录中调用make即可工作:1)你设置了GOROOT环境变量2)你可以访问到安装go的目录我两者都没有。第一点可以通过使用gomake而不是make轻松解决。问题是我没有将go目录的bin目录添加到root用户PATH中,所以我不得不启动一个roottermianl,将gobin目录导出到PATH,然后在Go-SDL目录中调用gomake.虽然我的情况似乎很特别,但也许它能有所帮助。 关于sdl-如何在Windows上构建Go-SDL?
我正在尝试学习如何使用OpenGL和SDL2,但是当我运行下面发布的简单程序时,窗口打开并立即关闭并显示以下消息:exitstatus3221225477.main.gopackagemainimport("fmt""github.com/go-gl/gl/v4.1-core/gl""github.com/veandco/go-sdl2/sdl")var(window*sdl.Windowcontextsdl.GLContext)funcmain(){//Initializesdlandcreatecontextinitialize()//InitializeOpenGLpoint
关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭7年前。Improvethisquestion是否有任何库可以与SDL结合使用来向用户显示警报?目前我正在将输出写入标准输出,但更愿意通过总和排序接口(interface)与用户交互!
我刚刚开始使用SDL2,阅读了几篇有关它的文章,并且能够成功编译我在ArchLinux上编写的测试程序。似乎正在发生的唯一问题是正在创建的窗口不呈现图像。我试过在Mac上运行相同的代码,这确实产生了预期的结果。我正在使用CLion,这不是恶意因素,因为通过CLI使用g++编译结果相同。我的ArchLinux安装:OS:ArchLinuxx86_64KernelRelease:4.6.2-1-ARCH这是我正在编译的代码:#include#includeusingnamespacestd;constintWIDTH=640;constintHEIGHT=480;boolinit();bo
昨天我可以,今天我不能在终端中使用ctrl-c来终止我的SDL应用程序。在调用SDL_Init之前,一切都按预期进行。之后,ctrl-c什么都不做。调用signal(SIGINT,SIG_DFL)不会改变这一点。除了Nvidia驱动程序,我没有更新任何我能想到的东西。我几个月前编译的应用程序也会出现这种情况。有什么方法可以调试正在发生的事情吗?[编辑]即使这在SDL_Init之后停止工作(尽管在gdb中正常运行):signal(SIGINT,exit);raise(SIGINT);SDL1.2.15和SDL2都发生了同样的情况(虽然过剩是可以的)。我正在运行Fedora18(x64)、
我正在尝试在Linuxx86环境(ubuntu)中的Eclipse上运行OpenGL代码:http://nehe.gamedev.net/tutorial/vertex_buffer_objects/22002/在命令行中输入后,代码将正常运行g++main.cpperror.cpplesson45.cpp-olesson45-L/usr/X11R6/lib/-lGL-lGLUsdl-config--cflags--libs这是make文件中的指令。现在我试图让代码在Eclipse上运行,我知道我必须设置链接器库GL和GLU以及链接器库目录/usr/X11R6/lib/。但是,关于sd
我正在使用SDL对于在Linux上运行的OpenGL应用程序。我的问题是SDL正在捕获SIGINT并忽略它。这是一个痛苦,因为我正在通过屏幕session进行开发,而且我无法使用CTRL-C终止正在运行的程序(计算机正在运行的程序连接到投影仪并且没有输入设备)。是否有标志或其他东西可以传递给SDL,以便它不捕获SIGINT?我真的只是希望程序在收到信号时停止(即当我按下ctrl-c时)。 最佳答案 控制台上的Ctrl-C会生成一个SDL_QUIT事件。您可以使用SDL_PollEvent或SDL_WaitEvent监视此事件,并在检
我正在将一些代码从Windows移植到XLib。在Windows代码中,我可以通过调用InvalidateRect然后处理相应的WM_PAINT消息来强制重绘。但是,我无法找到如何在X11/XLib中执行此操作。我看到有一条Expose消息,但不确定这是否是同一回事。如果重要的话,我需要执行此操作以强制窗口以某个基于OpenGL的程序的帧速率呈现。 最佳答案 稍微扩展BЈовић给出的有用答案,使用原始Xlib,您可以随时在单个线程中绘制,因为每个Xlib函数都指定了完整的显示、窗口和上下文。AFAIK,有了多线程,所有的赌注都没有