• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Xlibでwindow型の定義はどこにありますか?)

Xlibでwindow型の定義はどこにありますか?

このQ&Aのポイント
  • Xlibでwindow型の定義はどこにありますか?LinuxのUbuntu 14.04.5 LTSで使われるXlibに関する質問です。Standard Header Filesを探しても見つかりませんでした。
  • <X11/Xlib.h>、<X11/X.h>、<X11/Xcms.h>、<X11/Xutil.h>、<X11/Xresource.h>、<X11/Xatom.h>、<X11/cursorfont.h>、<X11/keysymdef.h>、<X11/keysym.h>、<X11/Xlibint.h>、<X11/Xproto.h>、<X11/Xprotostr.h>、<X11/X10.h>という標準のヘッダファイルを探してもwindow型の定義が見つかりませんでした。
  • Xlibのwindow型の定義がどこにあるか知りたいです。Ubuntu 14.04.5 LTSで使用されるXlibに関する質問ですが、Standard Header Filesを調べてもwindow型の定義が見つかりませんでした。Display型はXlib.hにあるようです。

質問者が選んだベストアンサー

  • ベストアンサー
  • trapezium
  • ベストアンサー率62% (276/442)
回答No.1

window じゃなく Window なら ~$ grep 'typedef.*Window' /usr/include/X11/*.h /usr/include/X11/X.h:typedef XID Window; /usr/include/X11/Xlib.h:typedef XCrossingEvent XEnterWindowEvent; /usr/include/X11/Xlib.h:typedef XCrossingEvent XLeaveWindowEvent; ~$ grep 'typedef.*XID' /usr/include/X11/*.h /usr/include/X11/X.h:typedef unsigned long XID; ...

purogu2017
質問者

お礼

型が unsigned long=XID=Window だったんですね。 ありがとうございます。わかりました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 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 のような感じで大量にでてきています。よろしくお願いします。プログラムはネットから取ってきたものなので間違ってはいないと思います・・・。

  • ディスプレイを変更したらX Windowが起動しなくなった

    Linuxをマシンにインストール時に接続していたディスプレイをワケあって変更したのですが、その変更したディスプレイにLinuxマシンを接続して起動したところ、X Windowが起動する画面(ログイン画面)のところで、真っ黒になって何も映らなくなってしまいました。 そのため、X Windowの設定をし直したくても、画面に何も映らないため設定ができません。 いったいどのようにすれば、X Windowの設定をし直すことができるのでしょうか? また、X Windowの設定をどのようにすればいいのでしょうか? どなたかご教授ください。 OS:Redhat Linux 7.1J

  • グラフィックスの出力ができません(Xlib,FreeBSD,KDE)

    Xのクライアントアプリケーションを作成しています。 線を描画したいと思い、 #include <X11/Xlib.h> #include <X11/Xutil.h> #include <stdio.h> main(){ Display *display; Window window; GC gc; unsigned long foreground,background; display = XOpenDisplay(NULL); foreground = BlackPixel(display,0); background = WhitePixel(display,0); window = XCreateSimpleWindow(display,RootWindow(display,0),0,0,500,400,0,0,background); XMapWindow(display,window); gc = XCreateGC(display,window,0,0); XSetForeground(display,gc,foreground); XSetBackground(display,gc,background); XSetLineAttributes(display,gc,10,LineSolid,CapRound,JoinRound); XDrawLine(display,window,gc,0,0,500,400); XFlush(display); getchar(); } のようなプログラムを書きました。 しかし、実行してもウィンドウは表示されるのですが肝心の線が描画されません。 ccからは何もいわれませんでした。 gccで試しても駄目でした。 その他、円も長方形もすべて表示できません。 ネットから拾ってきたサンプルプログラムでは表示されますので、このソースのどこかが 間違っているのでは?、と思いここで質問させていただくことにしました。 環境はFreeBSS5.4 KDE です。 どうして線が描画できないのでしょうか。おしえてください。

  • cygwinでX-window

    自宅のWindowsXPのPC上で、X-Window関連(<X11/Xlib.h>をincludeする等で)のC言語を勉強したいと思い、 VisualCで最初に試したのですが上手くいかず、cygwinをインストールしました。 コンパイル時に、 /usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/bin/ld: cannot find -lX11 collect2: ld returned 1 exit status とエラーが出て実行ファイルが出来ません。 ちなみに、cygeinをインストール時にパッケージは全てDLしました。 初歩的な質問かもしれませんがよろしくお願いします。

  • ubuntuのエラーについて質問させてください。

    Linux初心者です。 あるシミュレータをubuntu 8.10で起動させようとしたら、 Xlib: extension "GLX" missing on display ":0.0". glXChooseVisual 上記のように出て、起動出来ません。 何かが足りなくインストールしたりしないといけないのでしょうか?それとも他に問題があるのでしょうか? 質問が分かりにくいかもしれませんが、よろしくお願いします。

  • X11に関して質問です。ウィンドウの属性の情報。

    ウィンドウの属性の情報を知るプログラムを教えてください。 参考ページ:http://xjman.dsl.gr.jp/man/man3/XGetWindowAttributes.3x.html XGetWindowAttributes関数の使い方がよくわかりません。 XWindowAttributes構造体の一つ目のメンバの値を端末に表示するにはどうすればいいでしょうか? #include <X11/Xlib.h> #include <X11/Xutil.h> #include <stdio.h> #include <stdlib.h> int main() { Display *display; Window w; GC gc; XEvent event; XWindowAttributes *window_attributes_return; /* ディスプレイ・サーバに接続 */ 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)); XSelectInput(display, w, ExposureMask); XMapWindow(display, w); /* GCの生成 */ gc = XCreateGC(display, w, 0, 0); /* リクエスト送信 */ XFlush(display); /* イベントループ */ while(1){ XNextEvent(display, &event); switch(event.type){ case Expose: XDrawLine(display, w, gc, 0, 0, 300, 300); /* ウィンドウの属性の情報を知る?? */ XGetWindowAttributes(display, w, window_attributes_return); printf("%d", window_attributes_return.x); break; } } /* Xサーバとの接続を解除 */ XCloseDisplay(display); return 0; }

  • iostreamについて

    今までOSはTurbo Linux 7を使っていましたが、最近RedHatLinux9にかえました。 それで、今までは普通に出来ていたことが出来なくなったので質問します。どちらかと言うとプログラム系の亊ですけど、Windowsではこんなことは起きないのでここで質問します。 C++でプログラムを作っているのですけど、 プログラム中で<iostream.h>,<fstream.h>をインクルードしていて、コンパイルすると /usr/include/c++/3.2.2/backward/fstream.h:31 から include されたファイル中, stereo_draw.cpp:4 から: /usr/include/c++/3.2.2/backward/backward_warning.h:32:2: 警告: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <sstream> instead of the deprecated header <strstream.h>. To disable this warning use -Wno-deprecated. と言うエラーメッセージが出るのです(stereo_draw.cppは私の作ったソースファイル)。 英語が得意ではないので訳があやしいですが、 『このファイルは推奨してない、または古いヘッダーをインクルードしています。C++スタンダードセクション17.4.1.2中の32ヘッダーのいづれかを使うことを推めます。例えば<X.h>の代わりにC++インクルード用の<X>ヘッダーをインクルードするとか、非推奨の<strstream.h>の代わりに<sstream>を使うなど』 と言っているのではないかと思います。でも、セクション17.4.1.2の32個のヘッダーなんて知らないです。それに、Turboの時はこんなメッセージは出ませんでした。 これを解決する方法をどなたか知っていたら教えて下さい。

  • アメブロのヘッダー画像について教えていただけませんか?

    アメブロのヘッダー画像について教えていただけませんか? http://ameblo.jp/lifechanging/ 上記のブログなのですが、最初の設定では ヘッダー画像が出ていたのですが、タイトルと 説明文を消したかったので、下記のタグを 張りました。 #header h1{ display:none; /* 表示しない */ } #header h2{ display: none; /* 表示しない */ } ■CSS編集できないスキンの場合フリープラグインへ追加 <style type="text/css"> #header h1{ display:none; /* 表示しない */ } #header h2{ display: none; /* 表示しない */ } </style> すると、タイトルと説明文は消えたのですが、ヘッダー画像まで 消えてしまって。。。 どうすれば表示されますでしょうか。 アメブロやcssなどに詳しい方おられましたら ご教授をお願いできますと幸いです。 どうかよろしくお願いいたします。

  • f:R^n→R^mの導関数の定義式は?

    n=m=1の時なら lim[h→0]|f(x+h)-f(x)|/|h| が導関数の定義ですがf:R^n→R^mの場合には導関数の定義式はどのように書けるのでしょうか? n Σ(lim[hi→0]|f(x1,x2,…,xi+hi,…,xn)-f(x1,x2,…,xn)|/|hi|) i=1 では間違いでしょうか?

  • cygwin + Putty の挙動が意味わかんないんですけど。

    WindowsXPのマシンでcygwinのXサーバーを立ち上げて、Puttyを用いてSSHでリモートのLinuxサーバーにアクセスしようと思います。(つまりXウインドウも飛ばしてきてほしいのです。) 1.WindowsXPのマシンにcygwinとPuttyをインストールしました。 2.C:\cygwin\usr\X11R6\bin\startxwin.bat を実行し、cygwinのXサーバーを立ち上げる。ちなみに、startxwin.batの内容は、デフォルトのstartxwin.batに run xhost ***.***.***.*** を書き加えたのみ。(***.***.***.***がLinuxサーバーのhostname) 3.この状態で、Puttyを立ち上げてSSHでリモートのLinuxサーバーにアクセスし、ログイン。 4.適当にXウインドウを使うアプリケーションを立ち上げてみる。(以下のアカウントは仮名。また、???.???.???.???はWindowsマシンのhostname) login as: monkey monkey@***.***.***.***'s password: Last login: Sun Jun 5 03:09:21 2005 from ???.???.???.??? setenv DISPLAY ???.???.???.???:0.0 % xv Xlib: connection to "???.???.???.???:0.0" refused by server Xlib: No protocol specified xv: Can't open display あれぇ?ちゃんとxhostでLinuxサーバーは指定したし、しかもディスプレイも目の前のマシンに切り替わってるはずなのに、 サーバーに拒否されるってどういうことよ??? 5.Xサーバー、Puttyが立ち上がっている状態で、再度 C:\cygwin\usr\X11R6\bin\startxwin.bat を実行。 6.再度、LinuxサーバーからXウインドウを送ってみる。 % xv ・・・おおっ!Xウインドウが飛んできたぞ!大成功! でもなんで C:\cygwin\usr\X11R6\bin\startxwin.bat を2回実行しないと xhost ***.***.***.*** が有効になってくれないんでしょうか? どなたか分かる方、教えていただけませんでしょうか?