Mam problem, ponieważ obecnie korzystam z Ubuntu Terminal na Windows 10. Mam również XMing zainstalowany jako mój X-serwer (używam XMing dla qemu, itp...). I próbuję uruchomić ten program SDL2. Więc mam to za main.cpp:SDL2 Nie można utworzyć okna, ponieważ nie może znaleźć pasującego GLX wizualnego
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <SDL2/SDL.h>
#include <GL/gl.h>
int main(int argc, char *argv[])
{
int final_status = 1;
SDL_Window *window;
SDL_GLContext openGL_context;
if (SDL_Init(SDL_INIT_VIDEO)) {
fprintf(stderr, "Unable to initialize SDL: %s\n",
SDL_GetError());
return 1;
}
window = SDL_CreateWindow("My Demo", SDL_WINDOWPOS_CENTERED,
SDL_WINDOWPOS_CENTERED, 640, 480,
SDL_WINDOW_OPENGL);
if (!window) {
fprintf(stderr, "Can't create window: %s\n", SDL_GetError());
goto finished;
}
openGL_context = SDL_GL_CreateContext(window);
if (!openGL_context) {
fprintf(stderr, "Can't create openGL context: %s\n",
SDL_GetError());
goto close_window;
}
/* drawing code removed */
final_status = 0;
SDL_GL_DeleteContext(openGL_context);
close_window:
SDL_DestroyWindow(window);
finished:
SDL_Quit();
fprintf(stdout, "done\n");
fflush(stdout);
return final_status;
}
A potem, kiedy biegnę g++ main.cpp -lSDL2
, otrzymuję ten wynik:
Can't create window: Couldn't find matching GLX visual
done
Próbowałem szukać, jak rozwiązać ten problem, ale może GLX nie wydaje się znaleźć dla niego rozwiązanie. Pomoc byłaby bardzo ceniona!
miałem ten błąd kiedyś, spowodowane przez nie mający wystarczający sterownika karty graficznej lub urządzenia dostępne, jak starałem się go uruchomić poprzez źle skonfigurowana maszyna wirtualna. Przepraszam, że nie mogę być bardziej konkretny. – ygrichman
@ygrichman hmm ... Cóż, to tylko cześć na świecie, i myślę, że mam dobrą kartę graficzną. A to jest Wsl, więc jest w oknach nie wirtualnych – amanuel2