參考資訊:
https://www.sfml-dev.org/index.php
main.cpp
#include <SFML/Window.hpp>
#include <SFML/System/Err.hpp>
#include <SFML/OpenGL.hpp>
#include <X11/Xlib.h>
#include <iostream>
#include <cmath>
#include <unistd.h>
int main(int argc, char *argv[])
{
XSetWindowAttributes cfg = { 0 };
Display* display = XOpenDisplay(NULL);
int screen = DefaultScreen(display);
cfg.background_pixel = BlackPixel(display, screen);
cfg.event_mask = KeyPressMask;
Window window = XCreateWindow(
display, RootWindow(display, screen),
0,
0,
320,
240,
0,
DefaultDepth(display, screen),
InputOutput,
DefaultVisual(display, screen),
CWBackPixel | CWEventMask,
&cfg
);
XStoreName(display, window , "hello, world!");
XFlush(display);
sf::Window sfml(window);
sfml.display();
usleep(3000000);
sfml.close();
XCloseDisplay(display);
return 0;
}
編譯、執行
$ g++ main.cpp -o main -lsfml-graphics -lsfml-window -lsfml-system -lX11 $ ./main