我最近转向了linux,但在使用gcc编译SDLC程序时遇到了问题。我正在使用的命令:gcc`sdl-config--cflags--libs`-omainmain.c即使通过分离sdl-config标志:gcc`sdl-config--cflags`-cmain.cgcc`sdl-config--libs`-omainmain.o我遇到了同样的错误:/tmp/ccHYyjKd.o:Infunction`main':main.c:(.text+0xe):undefinedreferenceto`SDL_SetMainReady'main.c:(.text+0x18):undefined
我试图找到一种方法来创建一个以屏幕为中心的SDL窗口,我找到了这段代码#ifdefWIN32#includeSDL_SysWMinfoi;SDL_VERSION(&i.version);if(SDL_GetWMInfo(&i)){HWNDhwnd=i.window;SetWindowPos(hwnd,HWND_TOP,x,y,width,height,flags);}#endif//WIN32但它仅适用于Windows。我如何在Linux中执行此操作? 最佳答案 使用putenv()在初始化SDL和创建窗口之前:#include#i
我试图找到一种方法来创建一个以屏幕为中心的SDL窗口,我找到了这段代码#ifdefWIN32#includeSDL_SysWMinfoi;SDL_VERSION(&i.version);if(SDL_GetWMInfo(&i)){HWNDhwnd=i.window;SetWindowPos(hwnd,HWND_TOP,x,y,width,height,flags);}#endif//WIN32但它仅适用于Windows。我如何在Linux中执行此操作? 最佳答案 使用putenv()在初始化SDL和创建窗口之前:#include#i
我正在使用SDL2和OpenGL创建一个应用程序,它在3台不同的计算机上运行良好。但是在另一台计算机(更新的archlinux)上,它不会,并且会因以下错误而崩溃:OpenGLcontextalreadycreated所以我的问题是:如何检查OpenGL上下文是否已创建?然后,如果它已经创建,我如何获得它的句柄?如果我不能这样做,我该如何绕过这个问题? 最佳答案 SDL2实际上不会在您没有要求的情况下创建OpenGL上下文。但是,如果您要求它在OpenGL根本不工作时创建一个OpenGL上下文,SDL2喜欢,erm,有点自由式。(实
我正在使用SDL2和OpenGL创建一个应用程序,它在3台不同的计算机上运行良好。但是在另一台计算机(更新的archlinux)上,它不会,并且会因以下错误而崩溃:OpenGLcontextalreadycreated所以我的问题是:如何检查OpenGL上下文是否已创建?然后,如果它已经创建,我如何获得它的句柄?如果我不能这样做,我该如何绕过这个问题? 最佳答案 SDL2实际上不会在您没有要求的情况下创建OpenGL上下文。但是,如果您要求它在OpenGL根本不工作时创建一个OpenGL上下文,SDL2喜欢,erm,有点自由式。(实
我正在尝试开始使用SDL创建一个可移植且漂亮的前端,它可以在X下运行,或者直接从终端运行(希望在某个时候可以在rasberrypi上运行)——目前我在笔记本电脑上上面装有最新的Ubuntu。我无法在终端上正确显示图像-它显示为ascii艺术。我认为这是我的系统配置问题,而不是我的示例程序问题,因为它在X下运行时运行良好。到目前为止,我想我所知道的是SDL应该使用fbcon视频驱动程序,但使用的是aalib。我收集到SDL检查帧缓冲区是否可用并使用它,如果它是-它在那里-至少根据的输出>fbset-imode"1024x768"geometry1024768102476832timing
我正在尝试开始使用SDL创建一个可移植且漂亮的前端,它可以在X下运行,或者直接从终端运行(希望在某个时候可以在rasberrypi上运行)——目前我在笔记本电脑上上面装有最新的Ubuntu。我无法在终端上正确显示图像-它显示为ascii艺术。我认为这是我的系统配置问题,而不是我的示例程序问题,因为它在X下运行时运行良好。到目前为止,我想我所知道的是SDL应该使用fbcon视频驱动程序,但使用的是aalib。我收集到SDL检查帧缓冲区是否可用并使用它,如果它是-它在那里-至少根据的输出>fbset-imode"1024x768"geometry1024768102476832timing
#include"SDL2/SDL.h"intmain(intargc,char*args[]){SDL_Init(SDL_INIT_EVERYTHING);SDL_QUIT();return0;}我已经通过debian存储库安装了SDL2,并且正在运行g++-otest.cppa.out-lSDL2我遇到了很多错误:a.out:(.rodata+0x0):multipledefinitionof`_IO_stdin_used'/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crt1.o:(.rodata.cst4
#include"SDL2/SDL.h"intmain(intargc,char*args[]){SDL_Init(SDL_INIT_EVERYTHING);SDL_QUIT();return0;}我已经通过debian存储库安装了SDL2,并且正在运行g++-otest.cppa.out-lSDL2我遇到了很多错误:a.out:(.rodata+0x0):multipledefinitionof`_IO_stdin_used'/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crt1.o:(.rodata.cst4
使用SDL1.3我想在linux下创建假的全屏SDL_Window。如果我只有一个显示器,这很容易。我刚获得当前显示模式并创建了一个窗口。SDL_GetDesktopDisplayMode(0,&mode);SDL_Window*win=SDL_CreateWindow("mywindow",0,0,mode.w,mode.h,SDL_WINDOW_OPENGL|SDL_WINDOW_SHOWN|SDL_WINDOW_BORDERLESS);但是当我有两个显示器时,事情就变得复杂了。该窗口分布在多个监视器上。SDL只能看到一个双倍大小的虚拟显示器。我用这段代码测试过intnum=SDL