vine Linux4.2 X-windowのコンパイルについて
vine Linux4.2を利用しており、X-Windowを使ってコンパイルを行ったところ
エラーが多発してコンパイルできません。何か考えられる原因、あるいは解決策を御教授願えませんでしょうか。
プログラム sample.c
#include <X11/Xlib.h>
#define WIN_W 400 /* ウィンドウの幅 */
#define WIN_H 300 /* ウィンドウの高さ */
#define WIN_X 100 /* ウィンドウ表示位置(X) */
#define WIN_Y 100 /* ウィンドウ表示位置(Y) */
#define BORDER 2 /* ボーダの幅 */
int
main( void )
{
Display* dpy; /* ディスプレイ ( X サーバのこと) */
Window root; /* ルートウィンドウ ( デスクトップ ) */
Window win; /* 表示するウィンドウ */
int screen; /* スクリーン */
unsigned long black, white; /* 黒と白のピクセル値 */
XEvent evt; /* イベント構造体変数 */
/* Xサーバと接続する */
dpy = XOpenDisplay( "" );
/* ディスプレイ変数の取得 */
root = DefaultRootWindow( dpy );
screen = DefaultScreen( dpy );
/* 白、黒のピクセル値を取得 */
white = WhitePixel( dpy, screen );
black = BlackPixel( dpy, screen );
/* ウィンドウを作成する。この時点ではまだ画面に表示されない。*/
win = XCreateSimpleWindow( dpy, root,
WIN_X, WIN_Y, WIN_W, WIN_H, BORDER, black, white);
/* Xサーバから通知してもらうイベントを指定
ここではキー押下イベントを選択している */
XSelectInput( dpy, win, KeyPressMask );
/* ウィンドウを画面に表示する(マップする)。 */
XMapWindow( dpy, win );
/* XMoveWindow( dpy, win, WIN_X, WIN_Y ); */
/* Xサーバへのリクエストバッファをフラッシュする。 */
/* XFlush( dpy ); */
/* Xサーバからイベントを読みこんで随時処理していくイベントループ */
while( 1 ) {
XNextEvent( dpy, &evt );
switch ( evt.type ) {
case KeyPress:
/* リソースの解放 */
XDestroyWindow( dpy, win );
XCloseDisplay( dpy );
return 0;
}
}
}
コンパイルコマンドについては
gcc -I /usr/X11R6/include -L /usr/X11R6/lib -o sample sample.c -lX11
で行いました。
エラーについては
/usr/X11R6/include/X11/Xlib.h:1083: 警告: data definition has no type or storage class
/usr/X11R6/include/X11/Xlib.h:1085: error: 文法エラー before '*' token
/usr/X11R6/include/X11/Xlib.h:1085: error: conflicting types for `font'
/usr/X11R6/include/X11/Xlib.h:231: error: previous declaration of `font'
/usr/X11R6/include/X11/Xlib.h:1085: 警告: data definition has no type or storage class
/usr/X11R6/include/X11/Xlib.h:1085: error: 文法エラー before '}' token
/usr/X11R6/include/X11/Xlib.h:1085: 警告: data definition has no type or storage class
のような感じで大量にでてきています。よろしくお願いします。プログラムはネットから取ってきたものなので間違ってはいないと思います・・・。
補足
"screen -r minecraft -X quit"の"-X"ってscreen内部にコマンドを送るオプションではないのですか?