- 締切済み
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 のような感じで大量にでてきています。よろしくお願いします。プログラムはネットから取ってきたものなので間違ってはいないと思います・・・。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- favoritthingis
- ベストアンサー率50% (13/26)
vine ではありませんが Xorg6.9上で そのままコピーしましたが コンパイルできてます。 そのvine以外でためしてみてください よくあるのが、環境がととのっていないことです Xorgの開発環境はいってますか??????
お礼
Xorg6.9.0-0vl38.1の開発環境があるかどうか調べるためsynapticで調べたところ、インストールされていました。また、Xorgの環境について、X-Windowプログラムのコンパイル方法について調べていくと、良くは分かっていないのですがXOrg-develが必要という情報を得たのでインストールしてみたところ、コンパイルに成功しました。御回答ありがとうございました。Xorgという言葉を得ていなかったらできていなかったです・・・。大変助かりました。