人気ブログランキング |

体重と今日食べたもの

k1segawa.exblog.jp

ダイエット

ブログトップ

Xlib での UI開発 を Windows 10 Creators Update上で - Bash on Ubuntu on Windows (7/28)

(2019/5/13追記)
WSL+XでGUI開発がqittaとかに載るようになってきたので、大昔の基本手順を見直してたら、Xlibプログラミング入門サイト様が、ホームページプロバイダの消失で無くなっていた。なので、Xlibの基本ソースを今入手するには、X-Windowの書籍や以下のサイト様に載っているので参考までに。

基本ソースとしてXlibの例がある。WSLならOpenGLを呼び出せばGPUの支援を受けられるので、XlibからOpenGLをコールするか、XCBとかいうこのサイト様でXlib置き換えラッパーを使ってもいい(結局意味無いと結論したようだ)。
(ここまで)
~~~~~~

Windows 10 Creators Update後に、Xlibのソースをコンパイルできるようになるかと思ったら全然違った。
単に必要なライブラリが入っていなかっただけ。

こちらのサイト様で気が付いた。
xorg-devをインストールする。

sudo apt-get install xorg-dev

関連ライブラリも含め、100MBもいかない。

たったこれだけで、Xlib関数を使ったUI開発が可能になった。

ソースはこちらのサイト様から。

[簡単なソース]
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <stdio.h>
#include <stdlib.h>

int main()
{
Display *display;
Window w;

/* ディスプレイサーバに接続 */
display = XOpenDisplay(NULL);
if(display == NULL){
fprintf(stderr, "Cannot open display.\n");
exit(1);
}

/* ウィンドウを生成 */
w = XCreateSimpleWindow(display, DefaultRootWindow(display),
50, 50, 400, 300, 1,
BlackPixel(display, 0), WhitePixel(display, 0));

/* ウィンドウを表示 */
XMapWindow(display, w);

/* リクエストを強制的に送信 */
XFlush(display);

/* ウィンドウ表示を確認のため5秒間スリープ */
sleep(5);

/* ディスプレイサーバとの接続を解除 */
XCloseDisplay(display);

return 0;
}
[コンパイル]
cc sample.c -lX11 -o sample
[実行]
./sample
[結果]
どうよ、これで何でもできるぜ~

by k1segawa | 2017-07-28 22:38 | X-Window | Comments(0)